2011-07-27 04:53:40 +08:00
|
|
|
--- a/drivers/net/wireless/ath/ath9k/main.c
|
|
|
|
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
2013-09-08 17:38:38 +08:00
|
|
|
@@ -286,8 +286,12 @@ static int ath_reset_internal(struct ath
|
|
|
|
(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL))
|
|
|
|
ath9k_mci_set_txpower(sc, true, false);
|
2011-07-27 04:53:40 +08:00
|
|
|
|
2013-09-08 17:38:38 +08:00
|
|
|
- if (!ath_complete_reset(sc, true))
|
|
|
|
+ if (!ath_complete_reset(sc, true)) {
|
|
|
|
r = -EIO;
|
|
|
|
+ goto out;
|
|
|
|
+ }
|
2011-07-27 04:53:40 +08:00
|
|
|
+
|
2013-09-08 17:38:38 +08:00
|
|
|
+ sc->hw->cur_power_level = sc->curtxpow / 2;
|
|
|
|
|
|
|
|
out:
|
|
|
|
spin_unlock_bh(&sc->sc_pcu_lock);
|
|
|
|
@@ -1299,6 +1303,7 @@ static int ath9k_config(struct ieee80211
|
2011-11-18 19:27:19 +08:00
|
|
|
sc->config.txpowlimit = 2 * conf->power_level;
|
2011-07-27 04:53:40 +08:00
|
|
|
ath9k_cmn_update_txpow(ah, sc->curtxpow,
|
|
|
|
sc->config.txpowlimit, &sc->curtxpow);
|
2012-09-29 02:29:02 +08:00
|
|
|
+ hw->cur_power_level = sc->curtxpow / 2;
|
2011-07-27 04:53:40 +08:00
|
|
|
}
|
|
|
|
|
2011-11-18 19:27:19 +08:00
|
|
|
mutex_unlock(&sc->mutex);
|