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

Reply via email to