Re-enable interrupts after a channel change failure, since ath_complete_reset will not be called. Also schedule a reset as a best effort method to recover the chip from whatever state caused the channel change failure.
Signed-off-by: Robert Shade <robert.sh...@gmail.com> --- drivers/net/wireless/ath/ath9k/main.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 24650fd..0567ac9 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -280,6 +280,12 @@ static int ath_reset_internal(struct ath_softc *sc, struct ath9k_channel *hchan) if (r) { ath_err(common, "Unable to reset channel, reset status %d\n", r); + + ath9k_hw_set_interrupts(ah); + ath9k_hw_enable_interrupts(ah); + + ath9k_queue_reset(sc, RESET_TYPE_BB_HANG); + goto out; } -- 1.7.1 _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel