1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-13 10:22:27 +02:00
openwrt-xburst/package/mac80211/patches/520-mac80211_cur_txpower.patch
nbd 3d534485d1 mac80211: fix channel context related warnings when using wds ap mode (fixes #12585)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34610 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-10 18:29:17 +00:00

34 lines
1023 B
Diff

--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1508,6 +1508,7 @@ struct ieee80211_hw {
u8 max_tx_aggregation_subframes;
u8 offchannel_tx_hw_queue;
u8 radiotap_mcs_details;
+ s8 cur_power_level;
u16 radiotap_vht_details;
netdev_features_t netdev_features;
};
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -2105,7 +2105,9 @@ static int ieee80211_get_tx_power(struct
struct ieee80211_local *local = wiphy_priv(wiphy);
struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
- if (!local->use_chanctx)
+ if (local->hw.cur_power_level)
+ *dbm = local->hw.cur_power_level;
+ else if (!local->use_chanctx)
*dbm = local->hw.conf.power_level;
else
*dbm = sdata->vif.bss_conf.txpower;
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -167,6 +167,7 @@ static u32 ieee80211_hw_conf_chan(struct
if (local->hw.conf.power_level != power) {
changed |= IEEE80211_CONF_CHANGE_POWER;
+ local->hw.cur_power_level = power;
local->hw.conf.power_level = power;
}