ath9k: make beacon timer initialization more reliable
authorFelix Fietkau <nbd@openwrt.org>
Wed, 14 Sep 2011 19:23:02 +0000 (21:23 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 16 Sep 2011 20:45:36 +0000 (16:45 -0400)
When starting the AP beacon timer, it assumes that the TSF has recently
been cleared. Set the SC_OP_TSF_RESET flag to ensure that this is always
the case.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/beacon.c

index 22e8e25801168094d31931d3e8b0bc4da6a77f53..6d7088b02611cb7117fe47a9698097e3200aa856 100644 (file)
@@ -517,6 +517,7 @@ static void ath_beacon_config_ap(struct ath_softc *sc,
        /* Set the computed AP beacon timers */
 
        ath9k_hw_disable_interrupts(ah);
+       sc->sc_flags |= SC_OP_TSF_RESET;
        ath9k_beacon_init(sc, nexttbtt, intval);
        sc->beacon.bmisscnt = 0;
        ath9k_hw_set_interrupts(ah, ah->imask);