mac80211: update to wireless-testing 2012-02-06
[openwrt/openwrt.git] / package / mac80211 / patches / 531-ath9k_cur_txpower.patch
index 3c0a4667564ad86b48f6f32a209e0303b530c181..8fdd436cd9775114dad310df8ddde53b431b893e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/main.c
 +++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1731,6 +1731,8 @@ static int ath9k_config(struct ieee80211
+@@ -1683,6 +1683,8 @@ int ath9k_config(struct ieee80211_hw *hw
                        return -EINVAL;
                }
  
@@ -9,27 +9,11 @@
                /*
                 * The most recent snapshot of channel->noisefloor for the old
                 * channel is only available after the hardware reset. Copy it to
-@@ -1748,6 +1750,7 @@ static int ath9k_config(struct ieee80211
+@@ -1697,6 +1699,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);
-               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);
+       mutex_unlock(&sc->mutex);