--- /dev/null
+From 011afa1ed8c408d694957d2474d89dc81a60b70c Mon Sep 17 00:00:00 2001
+From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
+Date: Tue, 10 Apr 2012 12:26:11 +0530
+Subject: Revert "ath9k: fix going to full-sleep on PS idle"
+
+From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
+
+commit 011afa1ed8c408d694957d2474d89dc81a60b70c upstream.
+
+This reverts commit c1afdaff90538ef085b756454f12b29575411214.
+
+Users have reported connection failures in 3.3.1 and suspend/resume
+failures in 3.4-rcX. Revert this commit for now - PS IDLE can be
+fixed in a clean manner later on.
+
+Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/ath/ath9k/main.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/wireless/ath/ath9k/main.c
++++ b/drivers/net/wireless/ath/ath9k/main.c
+@@ -118,15 +118,13 @@ void ath9k_ps_restore(struct ath_softc *
+ if (--sc->ps_usecount != 0)
+ goto unlock;
+
+- if (sc->ps_flags & PS_WAIT_FOR_TX_ACK)
+- goto unlock;
+-
+- if (sc->ps_idle)
++ if (sc->ps_idle && (sc->ps_flags & PS_WAIT_FOR_TX_ACK))
+ mode = ATH9K_PM_FULL_SLEEP;
+ else if (sc->ps_enabled &&
+ !(sc->ps_flags & (PS_WAIT_FOR_BEACON |
+ PS_WAIT_FOR_CAB |
+- PS_WAIT_FOR_PSPOLL_DATA)))
++ PS_WAIT_FOR_PSPOLL_DATA |
++ PS_WAIT_FOR_TX_ACK)))
+ mode = ATH9K_PM_NETWORK_SLEEP;
+ else
+ goto unlock;