1 --- a/drivers/net/wireless/ath/ath9k/beacon.c
2 +++ b/drivers/net/wireless/ath/ath9k/beacon.c
3 @@ -368,7 +368,8 @@ void ath_beacon_tasklet(unsigned long da
4 "missed %u consecutive beacons\n",
6 ath9k_hw_stop_dma_queue(ah, sc->beacon.beaconq);
7 - ath9k_hw_bstuck_nfcal(ah);
8 + if (sc->beacon.bmisscnt > 4)
9 + ath9k_hw_bstuck_nfcal(ah);
10 } else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) {
11 ath_dbg(common, ATH_DBG_BSTUCK,
12 "beacon is officially stuck\n");