mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-03 23:37:40 -04:00
wifi: mac80211: make monitor link info check more specific
Verify that only one of the permitted change flags is set when changing the link of a monitor interface. Before the WARN_ON_ONCE would accept anything if mu_mimo_owner was set. Also, split out the mu_mimo_owner flag and enable it for all interface types. The option is set during association when VHT is available and it is not expected that any configuration of the MU groups is done without it being set. Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110141948.6696dba8678d.Icafac3be4724825dd6140e4407bae3a2adb593a5@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
a5aa46f1ac
commit
9e23063a79
@@ -476,8 +476,12 @@ void drv_link_info_changed(struct ieee80211_local *local,
|
||||
if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE ||
|
||||
sdata->vif.type == NL80211_IFTYPE_NAN ||
|
||||
(sdata->vif.type == NL80211_IFTYPE_MONITOR &&
|
||||
!sdata->vif.bss_conf.mu_mimo_owner &&
|
||||
!(changed & BSS_CHANGED_TXPOWER))))
|
||||
changed & ~(BSS_CHANGED_TXPOWER |
|
||||
BSS_CHANGED_MU_GROUPS))))
|
||||
return;
|
||||
|
||||
if (WARN_ON_ONCE(changed & BSS_CHANGED_MU_GROUPS &&
|
||||
!sdata->vif.bss_conf.mu_mimo_owner))
|
||||
return;
|
||||
|
||||
if (!check_sdata_in_driver(sdata))
|
||||
|
||||
@@ -356,8 +356,7 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
|
||||
if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE ||
|
||||
sdata->vif.type == NL80211_IFTYPE_NAN ||
|
||||
(sdata->vif.type == NL80211_IFTYPE_MONITOR &&
|
||||
!sdata->vif.bss_conf.mu_mimo_owner &&
|
||||
!(changed & BSS_CHANGED_TXPOWER))))
|
||||
changed & ~BSS_CHANGED_TXPOWER)))
|
||||
return;
|
||||
|
||||
if (!check_sdata_in_driver(sdata))
|
||||
|
||||
Reference in New Issue
Block a user