Commit 2ab81d4a authored by Sujith's avatar Sujith Committed by John W. Linville

ath9k: Stop ANI when doing a reset

The MIB counters are disabled when doing a chip reset.
Since ANI depends on the MIB registers for its operation, relying
on the contents of said registers during HW reset results in sub-optimal
performance.

Cc: stable@kernel.org
Signed-off-by: default avatarSujith <Sujith.Manoharan@atheros.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e8009e98
...@@ -1973,6 +1973,9 @@ int ath_reset(struct ath_softc *sc, bool retry_tx) ...@@ -1973,6 +1973,9 @@ int ath_reset(struct ath_softc *sc, bool retry_tx)
struct ieee80211_hw *hw = sc->hw; struct ieee80211_hw *hw = sc->hw;
int r; int r;
/* Stop ANI */
del_timer_sync(&common->ani.timer);
ath9k_hw_set_interrupts(ah, 0); ath9k_hw_set_interrupts(ah, 0);
ath_drain_all_txq(sc, retry_tx); ath_drain_all_txq(sc, retry_tx);
ath_stoprecv(sc); ath_stoprecv(sc);
...@@ -2014,6 +2017,9 @@ int ath_reset(struct ath_softc *sc, bool retry_tx) ...@@ -2014,6 +2017,9 @@ int ath_reset(struct ath_softc *sc, bool retry_tx)
} }
} }
/* Start ANI */
ath_start_ani(common);
return r; return r;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment