openwrt-owl/package/kernel/mac80211/patches/521-ath9k_cur_txpower.patch

25 lines
734 B
Diff

--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -313,8 +313,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);
@@ -1347,6 +1351,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);