Commit 134d715e authored by Ayala Beker's avatar Ayala Beker Committed by Johannes Berg

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: 8f500fbc ("wifi: mac80211: process and save negotiated TID to Link mapping request")
Signed-off-by: default avatarAyala Beker <ayala.beker@intel.com>
Reviewed-by: default avatarIlan Peer <ilan.peer@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240318184907.acddbbf39584.Ide858f95248fcb3e483c97fcaa14b0cd4e964b10@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent a8b5d480
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment