diff --git a/net/wireless/core.c b/net/wireless/core.c index 12b780de8779..eed4c06cd40b 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -1477,12 +1477,13 @@ int cfg80211_register_netdevice(struct net_device *dev) lockdep_assert_held(&rdev->wiphy.mtx); /* we'll take care of this */ - wdev->registered = true; wdev->registering = true; + wiphy_unlock(&rdev->wiphy); ret = register_netdevice(dev); if (ret) goto out; + wiphy_lock(&rdev->wiphy); cfg80211_register_wdev(rdev, wdev); ret = 0; out: