aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-03-22 16:54:18 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-03-30 14:15:18 -0400
commit87c510fe2d4f193cd4eb518364a2dfa5059b1218 (patch)
tree80d7b4d11df90ddbb4554b0f09c8c9f5b5717ad5 /drivers/net/wireless/ath/ath9k
parentdd347f2fb2ddb20a80e9a8285252bf208ab91398 (diff)
ath9k: trigger nfcal only after multiple missed beacons in AP mode
Single missed (i.e. not transmitted) beacons in AP mode are not very rare and not necessarily an indicator of strong interference, so only trigger noise floor recalibration when multiple consecutive beacons could not be transmitted. Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k')
-rw-r--r--drivers/net/wireless/ath/ath9k/beacon.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/beacon.c b/drivers/net/wireless/ath/ath9k/beacon.c
index b5eab2f55824..6ebeafe3a92f 100644
--- a/drivers/net/wireless/ath/ath9k/beacon.c
+++ b/drivers/net/wireless/ath/ath9k/beacon.c
@@ -368,7 +368,8 @@ void ath_beacon_tasklet(unsigned long data)
368 "missed %u consecutive beacons\n", 368 "missed %u consecutive beacons\n",
369 sc->beacon.bmisscnt); 369 sc->beacon.bmisscnt);
370 ath9k_hw_stop_dma_queue(ah, sc->beacon.beaconq); 370 ath9k_hw_stop_dma_queue(ah, sc->beacon.beaconq);
371 ath9k_hw_bstuck_nfcal(ah); 371 if (sc->beacon.bmisscnt > 3)
372 ath9k_hw_bstuck_nfcal(ah);
372 } else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) { 373 } else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) {
373 ath_dbg(common, ATH_DBG_BSTUCK, 374 ath_dbg(common, ATH_DBG_BSTUCK,
374 "beacon is officially stuck\n"); 375 "beacon is officially stuck\n");