]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: mac80211: cancel TTLM teardown work earlier
authorJohannes Berg <johannes.berg@intel.com>
Mon, 6 May 2024 19:10:34 +0000 (21:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Aug 2024 06:59:33 +0000 (08:59 +0200)
[ Upstream commit 3567bd6dcd1467d2ad0f597be94114c6f9c62680 ]

It shouldn't be possible to run this after disconnecting, so
cancel the work earlier.

Fixes: a17a58ad2ff2 ("wifi: mac80211: add support for tearing down negotiated TTLM")
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240506211034.096a10ccebec.I5584a21c27eb9b3e87b9e26380b627114b32ccba@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/mlme.c

index 72e38e42f6da0ab8023e9202a0b76dd75638d5a6..0a9949bbd7576223c13b0071a27f771582d16227 100644 (file)
@@ -3294,6 +3294,9 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
        wiphy_delayed_work_cancel(sdata->local->hw.wiphy,
                                  &sdata->u.mgd.ml_reconf_work);
 
+       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;
@@ -8709,8 +8712,6 @@ void ieee80211_mgd_stop(struct ieee80211_sub_if_data *sdata)
                          &ifmgd->beacon_connection_loss_work);
        wiphy_work_cancel(sdata->local->hw.wiphy,
                          &ifmgd->csa_connection_drop_work);
-       wiphy_work_cancel(sdata->local->hw.wiphy,
-                         &ifmgd->teardown_ttlm_work);
        wiphy_delayed_work_cancel(sdata->local->hw.wiphy,
                                  &ifmgd->tdls_peer_del_work);
        wiphy_delayed_work_cancel(sdata->local->hw.wiphy, &ifmgd->ttlm_work);