ath9k: Re-enable interrupts after a channel change failure
ath_complete_reset will not be called if ath9k_hw_reset is unsuccessful, so we need to re-enable intertupts to balence the previous ath_prepare_reset call. Also schedule a reset as a best effort method to recover the chip from whatever state caused the channel change failure. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=55771 Signed-off-by: Robert Shade <robert.shade@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
3eaa956c5b
commit
f50b1cd374
|
@ -280,6 +280,10 @@ static int ath_reset_internal(struct ath_softc *sc, struct ath9k_channel *hchan)
|
||||||
if (r) {
|
if (r) {
|
||||||
ath_err(common,
|
ath_err(common,
|
||||||
"Unable to reset channel, reset status %d\n", r);
|
"Unable to reset channel, reset status %d\n", r);
|
||||||
|
|
||||||
|
ath9k_hw_enable_interrupts(ah);
|
||||||
|
ath9k_queue_reset(sc, RESET_TYPE_BB_HANG);
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue