modernize backfire 10.03 so it can be operational again
[openwrt-10.03/.git] / package / mac80211 / patches / 441-ath5k_no_agc_recalibration.patch
1 --- a/drivers/net/wireless/ath/ath5k/phy.c
2 +++ b/drivers/net/wireless/ath/ath5k/phy.c
3 @@ -1871,31 +1871,15 @@ ath5k_hw_phy_calibrate(struct ath5k_hw *
4                 ret = 0;
5         }
6  
7 -       /* On full calibration do an AGC calibration and
8 -        * request a PAPD probe for gainf calibration if
9 -        * needed */
10 -       if (ah->ah_cal_mask & AR5K_CALIBRATION_FULL) {
11 +       /* On full calibration request a PAPD probe for
12 +        * gainf calibration if needed */
13 +       if ((ah->ah_cal_mask & AR5K_CALIBRATION_FULL) &&
14 +           (ah->ah_radio == AR5K_RF5111 ||
15 +            ah->ah_radio == AR5K_RF5112) &&
16 +           channel->hw_value != AR5K_MODE_11B)
17 +               ath5k_hw_request_rfgain_probe(ah);
18  
19 -               AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_AGCCTL,
20 -                                       AR5K_PHY_AGCCTL_CAL);
21 -
22 -               ret = ath5k_hw_register_timeout(ah, AR5K_PHY_AGCCTL,
23 -                       AR5K_PHY_AGCCTL_CAL | AR5K_PHY_AGCCTL_NF,
24 -                       0, false);
25 -               if (ret) {
26 -                       ATH5K_ERR(ah,
27 -                               "gain calibration timeout (%uMHz)\n",
28 -                               channel->center_freq);
29 -               }
30 -
31 -               if ((ah->ah_radio == AR5K_RF5111 ||
32 -                       ah->ah_radio == AR5K_RF5112)
33 -                       && (channel->hw_value != AR5K_MODE_11B))
34 -                       ath5k_hw_request_rfgain_probe(ah);
35 -       }
36 -
37 -       /* Update noise floor
38 -        * XXX: Only do this after AGC calibration */
39 +       /* Update noise floor */
40         if (!(ah->ah_cal_mask & AR5K_CALIBRATION_NF))
41                 ath5k_hw_update_noise_floor(ah);
42