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>
This commit is contained in:
parent
ae2ff23930
commit
eaf04a6915
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue