summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2026-03-18 18:06:22 +0100
committerJohannes Berg <johannes.berg@intel.com>2026-03-19 09:06:49 +0100
commiteb092b188fcf96ef2c770ff086ebfc2a15b061d3 (patch)
tree7fe1ec24164cd3f870fb0fdc78c42a21aed81c25
parentd3947aac97c3e57ee2f85fd1bef8e7674e609c45 (diff)
downloadlinux-eb092b188fcf96ef2c770ff086ebfc2a15b061d3.tar.gz
linux-eb092b188fcf96ef2c770ff086ebfc2a15b061d3.zip
wifi: mac80211: fix STA link removal during link removal
ieee80211_sta_free_link() only frees the link and doesn't unhash it, so it can't be used here. Instead this needs to use ieee80211_sta_remove_link(), which unhashes it. An argument against it was that it also calls the driver and that already happened, but calls to the driver removing a link that's already removed are suppressed, so that's not actually an issue. Use it to fix the hashtable. Reported-and-tested-by: Jouni Malinen <j@w1.fi> Fixes: 84674b03d8bf ("wifi: mac80211: Remove deleted sta links in ieee80211_ml_reconf_work()") Acked-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://patch.msgid.link/20260318180622.9240067117e9.I45fb2b7f04d75e48d2f3e9c6650ef9f54a314f5b@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/mlme.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index f279bdb03aca..0cd8d07bf668 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -7119,7 +7119,7 @@ static void ieee80211_ml_reconf_work(struct wiphy *wiphy,
for_each_set_bit(link_id, &removed_links,
IEEE80211_MLD_MAX_NUM_LINKS)
- ieee80211_sta_free_link(sta, link_id);
+ ieee80211_sta_remove_link(sta, link_id);
}
new_dormant_links = sdata->vif.dormant_links & ~sdata->u.mgd.removed_links;