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.shade@xxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html