ath5k: always calculate ANI listen time
authorBruno Randolf <br1@einfach.org>
Wed, 19 May 2010 01:31:37 +0000 (10:31 +0900)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 2 Jun 2010 20:13:26 +0000 (16:13 -0400)
Calculate 'listen' time also when automatic ANI is off, since this and the
"busy" time is useful information also in manual mode.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/ani.c

index f2311ab35504cc5f10ba92485b126c900b7e860d..987e3d3fa5cb376c91904d2bddb4a466e4fc3566 100644 (file)
@@ -481,14 +481,15 @@ ath5k_ani_calibration(struct ath5k_hw *ah)
        struct ath5k_ani_state *as = &ah->ah_sc->ani_state;
        int listen, ofdm_high, ofdm_low, cck_high, cck_low;
 
-       if (as->ani_mode != ATH5K_ANI_MODE_AUTO)
-               return;
-
        /* get listen time since last call and add it to the counter because we
-        * might not have restarted the "ani period" last time */
+        * might not have restarted the "ani period" last time.
+        * always do this to calculate the busy time also in manual mode */
        listen = ath5k_hw_ani_get_listen_time(ah, as);
        as->listen_time += listen;
 
+       if (as->ani_mode != ATH5K_ANI_MODE_AUTO)
+               return;
+
        ath5k_ani_save_and_clear_phy_errors(ah, as);
 
        ofdm_high = as->listen_time * ATH5K_ANI_OFDM_TRIG_HIGH / 1000;