Root/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 
43

Archive Download this file



interactive