aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2009-04-13 12:26:25 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:45 -0400
commitd2f5b3a6778ae86fd93cb01ccac16aa0b079e441 (patch)
tree51f6776b8e971ded36cd9790492674c892638a39 /drivers/net/wireless
parenta89bff9a78b2bf51e21a961b473b5be94b22f12e (diff)
ath9k: Handle ASPM properly for RFKILL
Radio enable/disable have to handle ASPM state properly. This patch fixes it. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 8b6a7ea4e59b..1a9bf7ece4a5 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1089,10 +1089,10 @@ void ath_radio_enable(struct ath_softc *sc)
1089 int r; 1089 int r;
1090 1090
1091 ath9k_ps_wakeup(sc); 1091 ath9k_ps_wakeup(sc);
1092 spin_lock_bh(&sc->sc_resetlock); 1092 ath9k_hw_configpcipowersave(ah, 0);
1093 1093
1094 spin_lock_bh(&sc->sc_resetlock);
1094 r = ath9k_hw_reset(ah, ah->curchan, false); 1095 r = ath9k_hw_reset(ah, ah->curchan, false);
1095
1096 if (r) { 1096 if (r) {
1097 DPRINTF(sc, ATH_DBG_FATAL, 1097 DPRINTF(sc, ATH_DBG_FATAL,
1098 "Unable to reset channel %u (%uMhz) ", 1098 "Unable to reset channel %u (%uMhz) ",
@@ -1154,6 +1154,7 @@ void ath_radio_disable(struct ath_softc *sc)
1154 spin_unlock_bh(&sc->sc_resetlock); 1154 spin_unlock_bh(&sc->sc_resetlock);
1155 1155
1156 ath9k_hw_phy_disable(ah); 1156 ath9k_hw_phy_disable(ah);
1157 ath9k_hw_configpcipowersave(ah, 1);
1157 ath9k_hw_setpower(ah, ATH9K_PM_FULL_SLEEP); 1158 ath9k_hw_setpower(ah, ATH9K_PM_FULL_SLEEP);
1158 ath9k_ps_restore(sc); 1159 ath9k_ps_restore(sc);
1159} 1160}