diff options
| author | 2014-10-17 07:40:13 +0530 | |
|---|---|---|
| committer | 2014-10-27 14:16:15 -0400 | |
| commit | eaf04a6915660c29e5e3532afb76cb41918ec5c5 (patch) | |
| tree | acf5220590c5bd077710fada28bc6d6aaec0d28e /drivers | |
| parent | ath9k: Set ATH_OP_HW_RESET before HW reset (diff) | |
| download | linux-dev-eaf04a6915660c29e5e3532afb76cb41918ec5c5.tar.xz linux-dev-eaf04a6915660c29e5e3532afb76cb41918ec5c5.zip | |
ath9k: Disable beacon tasklet during reset
When a chip reset is done, all running timers,
tasklets etc. are stopped but the beacon tasklet
is left running. Fix this.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index dda09ba321d7..5d54f39a61a8 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -281,6 +281,7 @@ static int ath_reset_internal(struct ath_softc *sc, struct ath9k_channel *hchan) __ath_cancel_work(sc); tasklet_disable(&sc->intr_tq); + tasklet_disable(&sc->bcon_tasklet); spin_lock_bh(&sc->sc_pcu_lock); if (!sc->cur_chan->offchannel) { @@ -326,6 +327,7 @@ static int ath_reset_internal(struct ath_softc *sc, struct ath9k_channel *hchan) out: spin_unlock_bh(&sc->sc_pcu_lock); + tasklet_enable(&sc->bcon_tasklet); tasklet_enable(&sc->intr_tq); return r; |
