diff mbox series

[wireless-next,13/15] wifi: mac80211: fix ML reconf reset in disconnect

Message ID 20250306124057.0f4758d60066.I7e6b35731ded94fc2d68a2d4ecf81873712c268e@changeid
State Superseded
Headers show
Series wifi: mac80211/cfg80211: updates - 2025-03-06 | expand

Commit Message

Miri Korenblit March 6, 2025, 10:43 a.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

If disconnecting while ML reconfiguration is in progress,
the data isn't freed because the reset call is too late,
after the vif already switches to non-MLD. Move the call
to fix that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 net/mac80211/mlme.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 60a585caa96d..9c4d4f04b23e 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4152,16 +4152,16 @@  static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
 	wiphy_work_cancel(sdata->local->hw.wiphy,
 			  &ifmgd->teardown_ttlm_work);
 
-	ieee80211_vif_set_links(sdata, 0, 0);
-
-	ifmgd->mcast_seq_last = IEEE80211_SN_MODULO;
-
 	/* if disconnection happens in the middle of the ML reconfiguration
 	 * flow, cfg80211 must called to release the BSS references obtained
 	 * when the flow started.
 	 */
 	ieee80211_ml_reconf_reset(sdata);
 
+	ieee80211_vif_set_links(sdata, 0, 0);
+
+	ifmgd->mcast_seq_last = IEEE80211_SN_MODULO;
+
 	ifmgd->epcs.enabled = false;
 	ifmgd->epcs.dialog_token = 0;
 }