--- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -1698,6 +1698,8 @@ int ath9k_config(struct ieee80211_hw *hw return -EINVAL; } + conf->cur_power_level = sc->curtxpow / 2; + /* * The most recent snapshot of channel->noisefloor for the old * channel is only available after the hardware reset. Copy it to @@ -1713,6 +1715,7 @@ int ath9k_config(struct ieee80211_hw *hw sc->config.txpowlimit = 2 * conf->power_level; ath9k_cmn_update_txpow(ah, sc->curtxpow, sc->config.txpowlimit, &sc->curtxpow); + conf->cur_power_level = sc->curtxpow / 2; } mutex_unlock(&sc->mutex);