From: Johannes Berg Date: Thu, 2 Jan 2025 14:20:08 +0000 (+0200) Subject: wifi: mac80211: ibss: mark IBSS left before leaving X-Git-Tag: v6.14-rc1~162^2~20^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9caeea95c41d46d2051595ff4c293ac48f66d6a;p=thirdparty%2Fkernel%2Flinux.git wifi: mac80211: ibss: mark IBSS left before leaving Mark that we left the IBSS before actually leaving (which requires calling the driver). Otherwise, it's possible to have the driver do some work flushing etc. while leaving, and then get into the work trying to join again while all data is being destroyed. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit Link: https://patch.msgid.link/20250102161730.81a6c12b304c.I8484f768371e128152a84aa164854cca9ec1066b@changeid Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index dfa125219e472..05a945df3259a 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -1827,8 +1827,8 @@ int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata) { struct ieee80211_if_ibss *ifibss = &sdata->u.ibss; - ieee80211_ibss_disconnect(sdata); ifibss->ssid_len = 0; + ieee80211_ibss_disconnect(sdata); eth_zero_addr(ifibss->bssid); /* remove beacon */