ath9k: fix beacon timer restarts after card resets - improves stability in AP mode
authorFelix Fietkau <nbd@openwrt.org>
Fri, 19 Feb 2010 17:22:37 +0000 (17:22 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 19 Feb 2010 17:22:37 +0000 (17:22 +0000)
SVN-Revision: 19757

package/mac80211/patches/540-ath9k_beacon_timer_fix.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/540-ath9k_beacon_timer_fix.patch b/package/mac80211/patches/540-ath9k_beacon_timer_fix.patch
new file mode 100644 (file)
index 0000000..cc0ad7b
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/drivers/net/wireless/ath/ath9k/beacon.c
++++ b/drivers/net/wireless/ath/ath9k/beacon.c
+@@ -526,16 +526,13 @@ static void ath_beacon_config_ap(struct 
+ {
+       u32 nexttbtt, intval;
+-      /* Configure the timers only when the TSF has to be reset */
+-
+-      if (!(sc->sc_flags & SC_OP_TSF_RESET))
+-              return;
+-
+       /* NB: the beacon interval is kept internally in TU's */
+       intval = conf->beacon_interval & ATH9K_BEACON_PERIOD;
+       intval /= ATH_BCBUF;    /* for staggered beacons */
+       nexttbtt = intval;
+-      intval |= ATH9K_BEACON_RESET_TSF;
++
++      if (sc->sc_flags & SC_OP_TSF_RESET)
++              intval |= ATH9K_BEACON_RESET_TSF;
+       /*
+        * In AP mode we enable the beacon timers and SWBA interrupts to