ath9k: Fix suspend/resume when no interface is UP
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Tue, 28 Jun 2011 12:51:19 +0000 (18:21 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 29 Jun 2011 18:36:44 +0000 (14:36 -0400)
When no interface has been brought up, the chip's power
state continued as AWAKE. So during resume, the chip never
been powered up.

Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/pci.c

index b8cbfc7072137064f443ad0f137b9ccba99c85f4..3bad0b2cf9a3f6517525950a3fe55411d8d79fb0 100644 (file)
@@ -278,6 +278,12 @@ static int ath_pci_suspend(struct device *device)
 
        ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1);
 
+       /* The device has to be moved to FULLSLEEP forcibly.
+        * Otherwise the chip never moved to full sleep,
+        * when no interface is up.
+        */
+       ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_FULL_SLEEP);
+
        return 0;
 }