diff options
Diffstat (limited to 'package/kernel/mac80211/patches/341-ath9k_common-always-update-value-in-ath9k_cmn_update.patch')
-rw-r--r-- | package/kernel/mac80211/patches/341-ath9k_common-always-update-value-in-ath9k_cmn_update.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/341-ath9k_common-always-update-value-in-ath9k_cmn_update.patch b/package/kernel/mac80211/patches/341-ath9k_common-always-update-value-in-ath9k_cmn_update.patch new file mode 100644 index 0000000000..625bd425b4 --- /dev/null +++ b/package/kernel/mac80211/patches/341-ath9k_common-always-update-value-in-ath9k_cmn_update.patch @@ -0,0 +1,31 @@ +From: Felix Fietkau <nbd@openwrt.org> +Date: Wed, 22 Oct 2014 18:16:14 +0200 +Subject: [PATCH] ath9k_common: always update value in + ath9k_cmn_update_txpow + +In some cases the limit may be the same as reg->power_limit, but the +actual value that the hardware uses is not up to date. In that case, a +wrong value for current tx power is tracked internally. +Fix this by unconditionally updating it. + +Signed-off-by: Felix Fietkau <nbd@openwrt.org> +--- + +--- a/drivers/net/wireless/ath/ath9k/common.c ++++ b/drivers/net/wireless/ath/ath9k/common.c +@@ -368,11 +368,11 @@ void ath9k_cmn_update_txpow(struct ath_h + { + struct ath_regulatory *reg = ath9k_hw_regulatory(ah); + +- if (reg->power_limit != new_txpow) { ++ if (reg->power_limit != new_txpow) + ath9k_hw_set_txpowerlimit(ah, new_txpow, false); +- /* read back in case value is clamped */ +- *txpower = reg->max_power_level; +- } ++ ++ /* read back in case value is clamped */ ++ *txpower = reg->max_power_level; + } + EXPORT_SYMBOL(ath9k_cmn_update_txpow); + |