From: Johannes Berg Date: Mon, 28 Aug 2023 11:59:59 +0000 (+0200) Subject: wifi: mac80211: extend wiphy lock in interface removal X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=332e68bc5526226f50a946b5dd980bba12902595;p=linux.git wifi: mac80211: extend wiphy lock in interface removal We want to extend the wiphy locking to the interface list, so move that into the section locked with the wiphy lock. Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index c528a4bb7f4fe..a465a18bf3bde 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -2274,6 +2274,8 @@ void ieee80211_remove_interfaces(struct ieee80211_local *local) */ cfg80211_shutdown_all_interfaces(local->hw.wiphy); + wiphy_lock(local->hw.wiphy); + WARN(local->open_count, "%s: open count remains %d\n", wiphy_name(local->hw.wiphy), local->open_count); @@ -2283,7 +2285,6 @@ void ieee80211_remove_interfaces(struct ieee80211_local *local) list_splice_init(&local->interfaces, &unreg_list); mutex_unlock(&local->iflist_mtx); - wiphy_lock(local->hw.wiphy); list_for_each_entry_safe(sdata, tmp, &unreg_list, list) { bool netdev = sdata->dev;