|
|
|
--- a/include/net/mac80211.h
|
|
|
|
+++ b/include/net/mac80211.h
|
|
|
|
@@ -819,7 +819,7 @@ enum ieee80211_smps_mode {
|
|
|
|
*/
|
|
|
|
struct ieee80211_conf {
|
|
|
|
u32 flags;
|
|
|
|
- int power_level, dynamic_ps_timeout;
|
|
|
|
+ int cur_power_level, power_level, dynamic_ps_timeout;
|
|
|
|
int max_sleep_period;
|
|
|
|
|
|
|
|
u16 listen_interval;
|
|
|
|
--- a/net/mac80211/cfg.c
|
|
|
|
+++ b/net/mac80211/cfg.c
|
|
|
|
@@ -1711,7 +1711,7 @@ static int ieee80211_get_tx_power(struct
|
|
|
|
{
|
|
|
|
struct ieee80211_local *local = wiphy_priv(wiphy);
|
|
|
|
|
|
|
|
- *dbm = local->hw.conf.power_level;
|
|
|
|
+ *dbm = local->hw.conf.cur_power_level;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
--- a/net/mac80211/main.c
|
|
|
|
+++ b/net/mac80211/main.c
|
|
|
|
@@ -168,6 +168,7 @@ int ieee80211_hw_config(struct ieee80211
|
|
|
|
|
|
|
|
if (local->hw.conf.power_level != power) {
|
|
|
|
changed |= IEEE80211_CONF_CHANGE_POWER;
|
|
|
|
+ local->hw.conf.cur_power_level = power;
|
|
|
|
local->hw.conf.power_level = power;
|
|
|
|
}
|
|
|
|
|