Signed-off-by: Parag Warudkar <parag.lkml@gmail.com>

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index a56b241..b3088a1 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -764,6 +764,7 @@ struct ath_softc {
 	atomic_t wow_got_bmiss_intr;
 	atomic_t wow_sleep_proc_intr; /* in the middle of WoW sleep ? */
 	u32 wow_intr_before_sleep;
+	bool suspending;
 #endif
 };
 
diff --git a/drivers/net/wireless/ath/ath9k/link.c b/drivers/net/wireless/ath/ath9k/link.c
index ade3afb..fa77e19 100644
--- a/drivers/net/wireless/ath/ath9k/link.c
+++ b/drivers/net/wireless/ath/ath9k/link.c
@@ -158,7 +158,8 @@ void ath_start_rx_poll(struct ath_softc *sc, u8 nbeacon)
 {
 	if (!AR_SREV_9300(sc->sc_ah))
 		return;
-
+	if (sc->suspending)
+		return;
 	if (!test_bit(SC_OP_PRIM_STA_VIF, &sc->sc_flags))
 		return;
 
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 6e66f9c..0cf88b7 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2150,7 +2150,7 @@ static int ath9k_suspend(struct ieee80211_hw *hw,
 	int ret = 0;
 
 	mutex_lock(&sc->mutex);
-
+	sc->suspending = 1;
 	ath_cancel_work(sc);
 	ath_stop_ani(sc);
 	del_timer_sync(&sc->rx_poll_timer);
@@ -2288,6 +2288,7 @@ static int ath9k_resume(struct ieee80211_hw *hw)
 	ath9k_start_btcoex(sc);
 
 	ath9k_ps_restore(sc);
+	sc->suspending = 0;
 	mutex_unlock(&sc->mutex);
 
 	return 0;
