|
@@ -363,7 +363,7 @@ void ath_beacon_tasklet(unsigned long data)
|
|
|
if (ath9k_hw_numtxpending(ah, sc->beacon.beaconq) != 0) {
|
|
|
sc->beacon.bmisscnt++;
|
|
|
|
|
|
- if (sc->beacon.bmisscnt < BSTUCK_THRESH) {
|
|
|
+ if (sc->beacon.bmisscnt < BSTUCK_THRESH * sc->nbcnvifs) {
|
|
|
ath_dbg(common, ATH_DBG_BSTUCK,
|
|
|
"missed %u consecutive beacons\n",
|
|
|
sc->beacon.bmisscnt);
|
|
@@ -380,13 +380,6 @@ void ath_beacon_tasklet(unsigned long data)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (sc->beacon.bmisscnt != 0) {
|
|
|
- ath_dbg(common, ATH_DBG_BSTUCK,
|
|
|
- "resume beacon xmit after %u misses\n",
|
|
|
- sc->beacon.bmisscnt);
|
|
|
- sc->beacon.bmisscnt = 0;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* Generate beacon frames. we are sending frames
|
|
|
* staggered so calculate the slot for this frame based
|
|
@@ -420,6 +413,13 @@ void ath_beacon_tasklet(unsigned long data)
|
|
|
bfaddr = bf->bf_daddr;
|
|
|
bc = 1;
|
|
|
}
|
|
|
+
|
|
|
+ if (sc->beacon.bmisscnt != 0) {
|
|
|
+ ath_dbg(common, ATH_DBG_BSTUCK,
|
|
|
+ "resume beacon xmit after %u misses\n",
|
|
|
+ sc->beacon.bmisscnt);
|
|
|
+ sc->beacon.bmisscnt = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|