diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-08-01 12:15:15 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-08-01 12:15:15 +0000 |
commit | 99a41c0ace85fce0efca7bedd39d0c88429fdc12 (patch) | |
tree | 88aa050ff0bbb96dbd78955e42fcc1b26ee5c800 /package/mac80211/patches/555-ath9k_cur_txpower.patch | |
parent | 4371be6c65c16464d42c70ebabc476f036618166 (diff) |
ath9k: fold patches that were merged upstream into 300-pending_work.patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27860 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/555-ath9k_cur_txpower.patch')
-rw-r--r-- | package/mac80211/patches/555-ath9k_cur_txpower.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/package/mac80211/patches/555-ath9k_cur_txpower.patch b/package/mac80211/patches/555-ath9k_cur_txpower.patch new file mode 100644 index 000000000..7bc92f13e --- /dev/null +++ b/package/mac80211/patches/555-ath9k_cur_txpower.patch @@ -0,0 +1,35 @@ +--- a/drivers/net/wireless/ath/ath9k/main.c ++++ b/drivers/net/wireless/ath/ath9k/main.c +@@ -1727,6 +1727,8 @@ static int ath9k_config(struct ieee80211 + 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 +@@ -1744,6 +1746,7 @@ static int ath9k_config(struct ieee80211 + ath9k_cmn_update_txpow(ah, sc->curtxpow, + sc->config.txpowlimit, &sc->curtxpow); + ath9k_ps_restore(sc); ++ conf->cur_power_level = sc->curtxpow / 2; + } + + if (disable_radio) { +--- a/drivers/net/wireless/ath/ath9k/common.c ++++ b/drivers/net/wireless/ath/ath9k/common.c +@@ -161,10 +161,12 @@ EXPORT_SYMBOL(ath9k_cmn_count_streams); + void ath9k_cmn_update_txpow(struct ath_hw *ah, u16 cur_txpow, + u16 new_txpow, u16 *txpower) + { ++ struct ath_regulatory *reg = ath9k_hw_regulatory(ah); ++ + if (cur_txpow != new_txpow) { + ath9k_hw_set_txpowerlimit(ah, new_txpow, false); + /* read back in case value is clamped */ +- *txpower = ath9k_hw_regulatory(ah)->power_limit; ++ *txpower = min_t(u16, reg->power_limit, reg->max_power_level); + } + } + EXPORT_SYMBOL(ath9k_cmn_update_txpow); |