aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-07-30 15:02:10 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-08-04 15:27:36 -0400
commit9369746050e838c57e357f0caa552386ad65a82d (patch)
treeadc9cf40f40f6d08490be81dd4343d667af59a56
parent00c86590e36bd42574821b43b5124d75f30df9dd (diff)
ath9k_hw: fix periodic noise floor calibration on AR9003
The periodic noise floor calibration is broken on this chip family, because it keeps triggering a software-filtered noise floor calibration, but never reads the result before uploading the history buffer value to the hardware. Fix this with a call to ath9k_hw_getnf(), just like on AR9002. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_calib.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
index 938365eebae6..f51ab89c989d 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
@@ -149,6 +149,12 @@ static bool ar9003_hw_calibrate(struct ath_hw *ah,
149 /* Do NF cal only at longer intervals */ 149 /* Do NF cal only at longer intervals */
150 if (longcal) { 150 if (longcal) {
151 /* 151 /*
152 * Get the value from the previous NF cal and update
153 * history buffer.
154 */
155 ath9k_hw_getnf(ah, chan);
156
157 /*
152 * Load the NF from history buffer of the current channel. 158 * Load the NF from history buffer of the current channel.
153 * NF is slow time-variant, so it is OK to use a historical 159 * NF is slow time-variant, so it is OK to use a historical
154 * value. 160 * value.