]> git.ipfire.org Git - thirdparty/linux.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)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 23 May 2024 09:44:15 +0000 (11:44 +0200)
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>
net/mac80211/mlme.c

index ab6b379d522b3a14278b2d2402c35f22e793f567..e0b44f47747be7da5e27e077962cd9929e113088 100644 (file)
@@ -3699,6 +3699,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;
@@ -9212,8 +9215,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);