Patch "mac80211_hwsim: use per-interface power level" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
mac80211_hwsim: use per-interface power level
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mac80211_hwsim-use-per-interface-power-level.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Johannes Berg <[email protected]>
Date: Thu, 13 Apr 2017 10:31:16 +0200
Subject: mac80211_hwsim: use per-interface power level
From: Johannes Berg <[email protected]>
[ Upstream commit 1d5e9f80ab021e3e1f9436627a4ad07a143ccb2c ]
When channel contexts are used, there's no global power level (the power_level is always 0). Use the per-interface TX power in mac80211_hwsim to have a proper setting for both cases.
This fixes the bgscan_simple and bgscan_learn test cases when the number of channels advertised by hwsim is >1 by default.
--- drivers/net/wireless/mac80211_hwsim.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
drivers/net/wireless/mac80211_hwsim.c +3 -6
@@ -552,8 +552,6 @@ struct mac80211_hwsim_data {/* wmediumd portid responsible for netgroup of this radio */ u32 wmediumd; -int power_level; -/* difference between this hw's clock and the real clock, in usecs */ s64 tsf_offset;s64 bcn_delta;
@@ -1208,7 +1206,9 @@ static bool mac80211_hwsim_tx_frame_no_nif (info->control.rates[0 ].flags &IEEE80211_TX_RC_SHORT_GI ) rx_status.flag |=RX_FLAG_SHORT_GI ;/* TODO: simulate real signal strength (and optional packet loss) */ - rx_status.signal = data->power_level -50 ; + rx_status.signal =-50 ; +if (info->control.vif) + rx_status.signal += info->control.vif->bss_conf.txpower;if (data->ps !=PS_DISABLED ) hdr->frame_control |=cpu_to_le16 (IEEE80211_FCTL_PM );
@@ -1607,7 +1607,6 @@ static int mac80211_hwsim_config(structWARN_ON (data->channel && data->use_chanctx); - data->power_level = conf->power_level;if (!data->started || !data->beacon_int)tasklet_hrtimer_cancel (&data->beacon_timer);else if (!hrtimer_is_queued (&data->beacon_timer.timer)) {
@@ -2212,7 +2211,6 @@ static const char mac80211_hwsim_gstring"d_tx_failed" ,"d_ps_mode" , "d_group", - "d_tx_power", };#define MAC80211_HWSIM_SSTATS_LEN ARRAY_SIZE(mac80211_hwsim_gstrings_stats)
@@ -2249,7 +2247,6 @@ static void mac80211_hwsim_get_et_stats( data[i++] = ar->tx_failed; data[i++] = ar->ps; data[i++] = ar->group; - data[i++] = ar->power_level;WARN_ON (i !=MAC80211_HWSIM_SSTATS_LEN ); }
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/mac80211-remove-bug-when-interface-type-is-invalid.patch queue-4.9/mac80211_hwsim-enforce-ps_manual_poll-to-be-set-after-ps_enabled.patch queue-4.9/mac80211_hwsim-use-per-interface-power-level.patch queue-4.9/iwlwifi-mvm-fix-rx-skb-header-size-and-align-it-properly.patch