diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 842bfb4a7cb6..c011e40eb351 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -949,8 +949,13 @@ static void ieee80211_unlist_sdata(struct ieee80211_sub_if_data *sdata) static void ieee80211_uninit(struct net_device *dev) { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); + struct wiphy *wiphy = sdata->local->hw.wiphy; ieee80211_unlist_sdata(sdata); + + wiphy_lock(wiphy); ieee80211_teardown_sdata(sdata); + wiphy_unlock(wiphy); } static int ieee80211_netdev_setup_tc(struct net_device *dev,