diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-07-30 15:02:10 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-04 15:27:36 -0400 |
commit | 9369746050e838c57e357f0caa552386ad65a82d (patch) | |
tree | adc9cf40f40f6d08490be81dd4343d667af59a56 /drivers/net | |
parent | 00c86590e36bd42574821b43b5124d75f30df9dd (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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_calib.c | 6 |
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. |