diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-01-21 20:52:38 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-01-21 23:07:37 +0300 |
commit | 783cd01e140d9db5c2d2279a96b81e16f9d81fef (patch) | |
tree | 87c20e21f1bedf9c1ae556701c6a1cd97b41356e /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | 6f4810101a629b31b5427872a09ea092cfc5c4bd (diff) | |
download | linux-783cd01e140d9db5c2d2279a96b81e16f9d81fef.tar.xz |
ath9k: add missing ps wakeup/restore calls
There are several places where ath_reset() was called without proper
calls to ath9k_ps_wakeup/ath9k_ps_restore. To fix this, add those calls
directly to ath_reset and drop them from callers where it makes sense.
Also add them to the config callback around ath_update_txpow to fix a
crash that happens when the tx power changed before any vif is brought up.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 332d1feb5c18..33a37edbaf79 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2113,9 +2113,7 @@ static void ath_tx_complete_poll_work(struct work_struct *work) if (needreset) { ath_dbg(ath9k_hw_common(sc->sc_ah), ATH_DBG_RESET, "tx hung, resetting the chip\n"); - ath9k_ps_wakeup(sc); ath_reset(sc, true); - ath9k_ps_restore(sc); } ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, |