25 lines
734 B
Diff
25 lines
734 B
Diff
--- a/drivers/net/wireless/ath/ath9k/main.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
|
@@ -310,8 +310,12 @@ static int ath_reset_internal(struct ath
|
|
(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL))
|
|
ath9k_mci_set_txpower(sc, true, false);
|
|
|
|
- if (!ath_complete_reset(sc, true))
|
|
+ if (!ath_complete_reset(sc, true)) {
|
|
r = -EIO;
|
|
+ goto out;
|
|
+ }
|
|
+
|
|
+ sc->hw->cur_power_level = sc->curtxpow / 2;
|
|
|
|
out:
|
|
spin_unlock_bh(&sc->sc_pcu_lock);
|
|
@@ -1404,6 +1408,7 @@ static int ath9k_config(struct ieee80211
|
|
sc->config.txpowlimit = 2 * conf->power_level;
|
|
ath9k_cmn_update_txpow(ah, sc->curtxpow,
|
|
sc->config.txpowlimit, &sc->curtxpow);
|
|
+ hw->cur_power_level = sc->curtxpow / 2;
|
|
}
|
|
|
|
mutex_unlock(&sc->mutex);
|