summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-19 17:22:37 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-19 17:22:37 +0000
commitfe6de573242e8bbac130039621038195d1249656 (patch)
tree748530019c8aa0d551b1de500d93de994b134afa /package
parent5608c64b51c0c9766b5d047529685cd096a6de41 (diff)
ath9k: fix beacon timer restarts after card resets - improves stability in AP mode
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19757 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/mac80211/patches/540-ath9k_beacon_timer_fix.patch22
1 files changed, 22 insertions, 0 deletions
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
index 000000000..cc0ad7b48
--- /dev/null
+++ b/package/mac80211/patches/540-ath9k_beacon_timer_fix.patch
@@ -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