diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index dd54fa727a61..d2ef9732c1d9 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -480,6 +480,16 @@ static void ath9k_tasklet(unsigned long data) | |||
480 | if (status & ATH9K_INT_TX) | 480 | if (status & ATH9K_INT_TX) |
481 | ath_tx_tasklet(sc); | 481 | ath_tx_tasklet(sc); |
482 | 482 | ||
483 | if ((status & ATH9K_INT_TSFOOR) && | ||
484 | (sc->hw->conf.flags & IEEE80211_CONF_PS)) { | ||
485 | /* | ||
486 | * TSF sync does not look correct; remain awake to sync with | ||
487 | * the next Beacon. | ||
488 | */ | ||
489 | DPRINTF(sc, ATH_DBG_PS, "TSFOOR - Sync with next Beacon\n"); | ||
490 | sc->sc_flags |= SC_OP_WAIT_FOR_BEACON; | ||
491 | } | ||
492 | |||
483 | /* re-enable hardware interrupt */ | 493 | /* re-enable hardware interrupt */ |
484 | ath9k_hw_set_interrupts(sc->sc_ah, sc->imask); | 494 | ath9k_hw_set_interrupts(sc->sc_ah, sc->imask); |
485 | ath9k_ps_restore(sc); | 495 | ath9k_ps_restore(sc); |