aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-02-19 17:22:37 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-02-19 17:22:37 +0000
commit6fdcbd08311bdda748e2084489525520d668c991 (patch)
treee62ddb3ecf6049d5678ed3822558f310e6e308b3
parent3889c76a6e723da1dde8403c40ea04e751577770 (diff)
downloadupstream-6fdcbd08311bdda748e2084489525520d668c991.tar.gz
upstream-6fdcbd08311bdda748e2084489525520d668c991.tar.bz2
upstream-6fdcbd08311bdda748e2084489525520d668c991.zip
ath9k: fix beacon timer restarts after card resets - improves stability in AP mode
SVN-Revision: 19757
-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 0000000000..cc0ad7b481
--- /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