mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
wifi: mac80211: correctly set active links upon TTLM
Fix ieee80211_ttlm_set_links() to not set all active links,
but instead let the driver know that valid links status changed
and select the active links properly.
Fixes: 8f500fbc6c
("wifi: mac80211: process and save negotiated TID to Link mapping request")
Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240318184907.acddbbf39584.Ide858f95248fcb3e483c97fcaa14b0cd4e964b10@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a8b5d4809b
commit
134d715e9e
@ -5874,6 +5874,15 @@ static int ieee80211_ttlm_set_links(struct ieee80211_sub_if_data *sdata,
|
||||
}
|
||||
|
||||
if (sdata->vif.active_links != active_links) {
|
||||
/* usable links are affected when active_links are changed,
|
||||
* so notify the driver about the status change
|
||||
*/
|
||||
changed |= BSS_CHANGED_MLD_VALID_LINKS;
|
||||
active_links &= sdata->vif.active_links;
|
||||
if (!active_links)
|
||||
active_links =
|
||||
BIT(__ffs(sdata->vif.valid_links &
|
||||
~dormant_links));
|
||||
ret = ieee80211_set_active_links(&sdata->vif, active_links);
|
||||
if (ret) {
|
||||
sdata_info(sdata, "Failed to set TTLM active links\n");
|
||||
@ -5888,7 +5897,6 @@ static int ieee80211_ttlm_set_links(struct ieee80211_sub_if_data *sdata,
|
||||
goto out;
|
||||
}
|
||||
|
||||
changed |= BSS_CHANGED_MLD_VALID_LINKS;
|
||||
sdata->vif.suspended_links = suspended_links;
|
||||
if (sdata->vif.suspended_links)
|
||||
changed |= BSS_CHANGED_MLD_TTLM;
|
||||
|
Loading…
Reference in New Issue
Block a user