diff options
Diffstat (limited to 'package/mac80211/patches/520-mac80211_cur_txpower.patch')
-rw-r--r-- | package/mac80211/patches/520-mac80211_cur_txpower.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/package/mac80211/patches/520-mac80211_cur_txpower.patch b/package/mac80211/patches/520-mac80211_cur_txpower.patch new file mode 100644 index 0000000..f0ed3d9 --- /dev/null +++ b/package/mac80211/patches/520-mac80211_cur_txpower.patch @@ -0,0 +1,33 @@ +--- a/include/net/mac80211.h ++++ b/include/net/mac80211.h +@@ -1554,6 +1554,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 +@@ -2190,7 +2190,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 +@@ -166,6 +166,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; + } + |