Răsfoiți Sursa

ath9k: fix beacon timer restarts after card resets - improves stability in AP mode

SVN-Revision: 19757
Felix Fietkau 15 ani în urmă
părinte
comite
6fdcbd0831
1 a modificat fișierele cu 22 adăugiri și 0 ștergeri
  1. 22 0
      package/mac80211/patches/540-ath9k_beacon_timer_fix.patch

+ 22 - 0
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