summaryrefslogtreecommitdiff
path: root/net/mac80211/chan.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2023-06-06 15:49:29 +0300
committerJohannes Berg <johannes.berg@intel.com>2023-06-07 20:53:24 +0300
commitec3252bff7b60fd2ee1a51a11054c54d63435ed2 (patch)
tree53d712c80cdf057904ee8f4b11b10a5d8e417cdf /net/mac80211/chan.c
parent1444f58931ef5227532cf5436bb55c1dd511d9a2 (diff)
downloadlinux-ec3252bff7b60fd2ee1a51a11054c54d63435ed2.tar.xz
wifi: mac80211: use wiphy work for channel switch
Channel switch obviously must be handled per link, and we have a (potential) deadlock when canceling that work. Use the new delayed wiphy work to handle this instead and get rid of the explicit timer that way too. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/chan.c')
-rw-r--r--net/mac80211/chan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
index 4d50e95dd75f..168bf3edd4b4 100644
--- a/net/mac80211/chan.c
+++ b/net/mac80211/chan.c
@@ -1205,8 +1205,8 @@ ieee80211_link_chanctx_reservation_complete(struct ieee80211_link_data *link)
&link->csa_finalize_work);
break;
case NL80211_IFTYPE_STATION:
- ieee80211_queue_work(&sdata->local->hw,
- &link->u.mgd.chswitch_work);
+ wiphy_delayed_work_queue(sdata->local->hw.wiphy,
+ &link->u.mgd.chswitch_work, 0);
break;
case NL80211_IFTYPE_UNSPECIFIED:
case NL80211_IFTYPE_AP_VLAN: