ath9k_hw: do not load noise floor readings when it is running
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Sun, 1 Jul 2012 14:23:52 +0000 (19:53 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Jul 2012 20:36:18 +0000 (16:36 -0400)
Noise floor calibration is performed on longcal interval and
the reading will be updated in history buffer. On rare occasions,
the previous noisefloor calibration might not be completed within
the period and trying to load nf reading will be failed. In such
situation, postpone the nf cabliration to next cycle to give
enough time to complete the calibration. This was already taken
care for ar9002 chips.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_calib.c

index d7deb8c9f29952c295fa094d0274953d6368d352..84b558d126caf6d01d883fbbb6325aeae58ff286 100644 (file)
@@ -159,14 +159,11 @@ 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);
-
+       /*
+        * Do NF cal only at longer intervals. Get the value from
+        * the previous NF cal and update history buffer.
+        */
+       if (longcal && 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