ath9k: stop ani when the STA gets disconnected.
authorSenthil Balasubramanian <senthilkumar@atheros.com>
Wed, 24 Jun 2009 13:26:40 +0000 (18:56 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 10 Jul 2009 19:02:24 +0000 (15:02 -0400)
ANI is not required when the STA is disconnected. So stop it and enable
ANI for adhoc and monitor mode.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 48cb5534bd1453f2507157ec267969d2097ec4d6..6d63126a81f1a0225c7e58bd559f8d0b8d388297 100644 (file)
@@ -949,6 +949,8 @@ static void ath9k_bss_assoc_info(struct ath_softc *sc,
        } else {
                DPRINTF(sc, ATH_DBG_CONFIG, "Bss Info DISASSOC\n");
                sc->curaid = 0;
        } else {
                DPRINTF(sc, ATH_DBG_CONFIG, "Bss Info DISASSOC\n");
                sc->curaid = 0;
+               /* Stop ANI */
+               del_timer_sync(&sc->ani.timer);
        }
 }
 
        }
 }
 
@@ -2193,7 +2195,9 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
 
        ath9k_hw_set_interrupts(sc->sc_ah, sc->imask);
 
 
        ath9k_hw_set_interrupts(sc->sc_ah, sc->imask);
 
-       if (conf->type == NL80211_IFTYPE_AP)
+       if (conf->type == NL80211_IFTYPE_AP    ||
+           conf->type == NL80211_IFTYPE_ADHOC ||
+           conf->type == NL80211_IFTYPE_MONITOR)
                ath_start_ani(sc);
 
 out:
                ath_start_ani(sc);
 
 out: