|
@@ -689,6 +689,17 @@ void ath9k_tasklet(unsigned long data)
|
|
|
!ath9k_hw_check_alive(ah))
|
|
|
ieee80211_queue_work(sc->hw, &sc->hw_check_work);
|
|
|
|
|
|
+ if ((status & ATH9K_INT_TSFOOR) && sc->ps_enabled) {
|
|
|
+ /*
|
|
|
+ * TSF sync does not look correct; remain awake to sync with
|
|
|
+ * the next Beacon.
|
|
|
+ */
|
|
|
+ ath_dbg(common, ATH_DBG_PS,
|
|
|
+ "TSFOOR - Sync with next Beacon\n");
|
|
|
+ sc->ps_flags |= PS_WAIT_FOR_BEACON | PS_BEACON_SYNC |
|
|
|
+ PS_TSFOOR_SYNC;
|
|
|
+ }
|
|
|
+
|
|
|
if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA)
|
|
|
rxmask = (ATH9K_INT_RXHP | ATH9K_INT_RXLP | ATH9K_INT_RXEOL |
|
|
|
ATH9K_INT_RXORN);
|
|
@@ -711,17 +722,6 @@ void ath9k_tasklet(unsigned long data)
|
|
|
ath_tx_tasklet(sc);
|
|
|
}
|
|
|
|
|
|
- if ((status & ATH9K_INT_TSFOOR) && sc->ps_enabled) {
|
|
|
- /*
|
|
|
- * TSF sync does not look correct; remain awake to sync with
|
|
|
- * the next Beacon.
|
|
|
- */
|
|
|
- ath_dbg(common, ATH_DBG_PS,
|
|
|
- "TSFOOR - Sync with next Beacon\n");
|
|
|
- sc->ps_flags |= PS_WAIT_FOR_BEACON | PS_BEACON_SYNC |
|
|
|
- PS_TSFOOR_SYNC;
|
|
|
- }
|
|
|
-
|
|
|
if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE)
|
|
|
if (status & ATH9K_INT_GENTIMER)
|
|
|
ath_gen_timer_isr(sc->sc_ah);
|