Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wifi: mac80211: Notify the low level driver on change in MLO valid links

Notify the low level driver when there is change in the valid links.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230920211508.4fc85b0a51b0.I64238e0e892709a2bd4764b3bca93cdcf021e2fd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Ilan Peer and committed by
Johannes Berg
041a74cb c9394c82

+6 -1
+2
include/net/mac80211.h
··· 341 341 * @BSS_CHANGED_UNSOL_BCAST_PROBE_RESP: Unsolicited broadcast probe response 342 342 * status changed. 343 343 * @BSS_CHANGED_EHT_PUNCTURING: The channel puncturing bitmap changed. 344 + * @BSS_CHANGED_MLD_VALID_LINKS: MLD valid links status changed. 344 345 */ 345 346 enum ieee80211_bss_change { 346 347 BSS_CHANGED_ASSOC = 1<<0, ··· 377 376 BSS_CHANGED_FILS_DISCOVERY = 1<<30, 378 377 BSS_CHANGED_UNSOL_BCAST_PROBE_RESP = 1<<31, 379 378 BSS_CHANGED_EHT_PUNCTURING = BIT_ULL(32), 379 + BSS_CHANGED_MLD_VALID_LINKS = BIT_ULL(33), 380 380 381 381 /* when adding here, make sure to change ieee80211_reconfig */ 382 382 };
+2 -1
net/mac80211/main.c
··· 207 207 BSS_CHANGED_PS |\ 208 208 BSS_CHANGED_IBSS |\ 209 209 BSS_CHANGED_ARP_FILTER |\ 210 - BSS_CHANGED_SSID) 210 + BSS_CHANGED_SSID |\ 211 + BSS_CHANGED_MLD_VALID_LINKS) 211 212 212 213 void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata, 213 214 u64 changed)
+2
net/mac80211/mlme.c
··· 5713 5713 if (ret) 5714 5714 sdata_info(sdata, "Failed setting valid links\n"); 5715 5715 5716 + ieee80211_vif_cfg_change_notify(sdata, BSS_CHANGED_MLD_VALID_LINKS); 5717 + 5716 5718 out: 5717 5719 if (!ret) 5718 5720 cfg80211_links_removed(sdata->dev, sdata->u.mgd.removed_links);