b43: LP-PHY: Fix another TX power control abuse
authorGábor Stefanik <netrolller.3d@gmail.com>
Fri, 14 Aug 2009 21:00:32 +0000 (23:00 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 20 Aug 2009 15:35:55 +0000 (11:35 -0400)
This should fix the remaining WARN_ON.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/phy_lp.c

index 18d517cc29248329be9d0704d6307c1b46d96d27..038a59d63a42b2bce8a65f3f3326bf9894941da9 100644 (file)
@@ -1059,7 +1059,8 @@ static void lpphy_rev0_1_rc_calib(struct b43_wldev *dev)
        bool old_txg_ovr;
        u8 old_bbmult;
        u16 old_rf_ovr, old_rf_ovrval, old_afe_ovr, old_afe_ovrval,
-           old_rf2_ovr, old_rf2_ovrval, old_phy_ctl, old_txpctl;
+           old_rf2_ovr, old_rf2_ovrval, old_phy_ctl;
+       enum b43_lpphy_txpctl_mode old_txpctl;
        u32 normal_pwr, ideal_pwr, mean_sq_pwr, tmp = 0, mean_sq_pwr_min = 0;
        int loopback, i, j, inner_sum;
 
@@ -1077,8 +1078,8 @@ static void lpphy_rev0_1_rc_calib(struct b43_wldev *dev)
        old_rf2_ovr = b43_phy_read(dev, B43_LPPHY_RF_OVERRIDE_2);
        old_rf2_ovrval = b43_phy_read(dev, B43_LPPHY_RF_OVERRIDE_2_VAL);
        old_phy_ctl = b43_phy_read(dev, B43_LPPHY_LP_PHY_CTL);
-       old_txpctl = b43_phy_read(dev, B43_LPPHY_TX_PWR_CTL_CMD) &
-                                       B43_LPPHY_TX_PWR_CTL_CMD_MODE;
+       lpphy_read_tx_pctl_mode_from_hardware(dev);
+       old_txpctl = lpphy->txpctl_mode;
 
        lpphy_set_tx_power_control(dev, B43_LPPHY_TX_PWR_CTL_CMD_MODE_OFF);
        lpphy_disable_crs(dev);