summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLuis R. Rodriguez2009-09-10 05:54:36 +0200
committerJohn W. Linville2009-10-07 22:39:24 +0200
commit1adc93c832726c9de4a43445c008a7f17549390b (patch)
tree0ca880249f5f0290b2f5aac099591daa6bde29e6 /drivers
parentath9k: move ath9k_ps_wakeup() and ath9k_ps_restore() to main.c (diff)
downloadkernel-qcow2-linux-1adc93c832726c9de4a43445c008a7f17549390b.tar.gz
kernel-qcow2-linux-1adc93c832726c9de4a43445c008a7f17549390b.tar.xz
kernel-qcow2-linux-1adc93c832726c9de4a43445c008a7f17549390b.zip
ath9k: avoid usage of ath9k_hw_setpower() on hw.c
ath9k_hw_setpower() is a core driver helper with locking protection. Locking protection should be left to the driver core, not the hw code. Hardware code no longer contends for locking when it needs to wake up the chip or put it to sleep. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 82c91e5883d9..910726203ec7 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -919,7 +919,7 @@ int ath9k_hw_init(struct ath_hw *ah)
return -EIO;
}
- if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE)) {
+ if (!ath9k_hw_setpower_nolock(ah, ATH9K_PM_AWAKE)) {
DPRINTF(ah, ATH_DBG_FATAL, "Couldn't wakeup chip\n");
return -EIO;
}
@@ -1234,7 +1234,7 @@ void ath9k_hw_detach(struct ath_hw *ah)
ath9k_hw_ani_disable(ah);
ath9k_hw_rf_free(ah);
- ath9k_hw_setpower(ah, ATH9K_PM_FULL_SLEEP);
+ ath9k_hw_setpower_nolock(ah, ATH9K_PM_FULL_SLEEP);
kfree(ah);
ah = NULL;
}
@@ -1800,7 +1800,7 @@ static bool ath9k_hw_chip_reset(struct ath_hw *ah,
} else if (!ath9k_hw_set_reset_reg(ah, ATH9K_RESET_WARM))
return false;
- if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE))
+ if (!ath9k_hw_setpower_nolock(ah, ATH9K_PM_AWAKE))
return false;
ah->chip_fullsleep = false;
@@ -2355,7 +2355,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
ah->txchainmask = sc->tx_chainmask;
ah->rxchainmask = sc->rx_chainmask;
- if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE))
+ if (!ath9k_hw_setpower_nolock(ah, ATH9K_PM_AWAKE))
return -EIO;
if (curchan && !ah->chip_fullsleep)
@@ -3998,7 +3998,7 @@ bool ath9k_hw_phy_disable(struct ath_hw *ah)
bool ath9k_hw_disable(struct ath_hw *ah)
{
- if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE))
+ if (!ath9k_hw_setpower_nolock(ah, ATH9K_PM_AWAKE))
return false;
return ath9k_hw_set_reset_reg(ah, ATH9K_RESET_COLD);