From: Johannes Berg Date: Mon, 28 Aug 2023 11:59:58 +0000 (+0200) Subject: wifi: mac80211: hold wiphy_lock around concurrency checks X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7a53b71d8ebc67b1a23b0cc8dd8b8024e3af9d27;p=linux.git wifi: mac80211: hold wiphy_lock around concurrency checks We want to replace the locking in mac80211 by just the wiphy mutex, so hold the lock here around concurrency checks for the future where the chanctx_mtx used inside goes away. Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index e09fec1507a68..c528a4bb7f4fe 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -430,12 +430,13 @@ static int ieee80211_open(struct net_device *dev) if (!is_valid_ether_addr(dev->dev_addr)) return -EADDRNOTAVAIL; + wiphy_lock(sdata->local->hw.wiphy); err = ieee80211_check_concurrent_iface(sdata, sdata->vif.type); if (err) - return err; + goto out; - wiphy_lock(sdata->local->hw.wiphy); err = ieee80211_do_open(&sdata->wdev, true); +out: wiphy_unlock(sdata->local->hw.wiphy); return err;