diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-07-30 21:02:10 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-04 21:27:36 +0200 |
commit | 9369746050e838c57e357f0caa552386ad65a82d (patch) | |
tree | adc9cf40f40f6d08490be81dd4343d667af59a56 | |
parent | ath9k_hw: clean up and fix initial noise floor calibration (diff) | |
download | linux-9369746050e838c57e357f0caa552386ad65a82d.tar.xz linux-9369746050e838c57e357f0caa552386ad65a82d.zip |
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.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, /* Do NF cal only at longer intervals */ if (longcal) { /* + * Get the value from the previous NF cal and update + * history buffer. + */ + ath9k_hw_getnf(ah, chan); + + /* * Load the NF from history buffer of the current channel. * NF is slow time-variant, so it is OK to use a historical * value. |