ath9k: Set HW state properly
authorSujith <Sujith.Manoharan@atheros.com>
Thu, 13 Aug 2009 04:04:37 +0000 (09:34 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 14 Aug 2009 13:14:09 +0000 (09:14 -0400)
This patch fixes a bug in ath9k_stop() where the HW
was not put into FULL_SLEEP state. Not doing so will
cause issues in suspend-resume and the HW will not respond
to chip resets.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 3eb6dc0..fa4c6e7 100644 (file)
@@ -2140,6 +2140,7 @@ static void ath9k_stop(struct ieee80211_hw *hw)
        /* disable HAL and put h/w to sleep */
        ath9k_hw_disable(sc->sc_ah);
        ath9k_hw_configpcipowersave(sc->sc_ah, 1);
        /* disable HAL and put h/w to sleep */
        ath9k_hw_disable(sc->sc_ah);
        ath9k_hw_configpcipowersave(sc->sc_ah, 1);
+       ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_FULL_SLEEP);
 
        sc->sc_flags |= SC_OP_INVALID;
 
 
        sc->sc_flags |= SC_OP_INVALID;