diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-01-10 10:59:40 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-01-10 10:59:40 -0500 |
commit | 235f93922878234f3d99a4205ebe3634ee955919 (patch) | |
tree | 1c61b53899e26839941e46d9f6e4bba28ddd23b5 /net/mac80211/iface.c | |
parent | 11b57f90257c1d6a91cee720151b69e0c2020cf6 (diff) | |
parent | 1e2f9295f4c657500111514f92a3d3894d0e05b4 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Conflicts:
net/ieee802154/6lowpan.c
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index d624ed49a7d9..b2c83c0f06d0 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -418,8 +418,10 @@ int ieee80211_add_virtual_monitor(struct ieee80211_local *local) return ret; } + mutex_lock(&local->mtx); ret = ieee80211_vif_use_channel(sdata, &local->monitor_chandef, IEEE80211_CHANCTX_EXCLUSIVE); + mutex_unlock(&local->mtx); if (ret) { drv_remove_interface(local, sdata); kfree(sdata); @@ -456,7 +458,9 @@ void ieee80211_del_virtual_monitor(struct ieee80211_local *local) synchronize_net(); + mutex_lock(&local->mtx); ieee80211_vif_release_channel(sdata); + mutex_unlock(&local->mtx); drv_remove_interface(local, sdata); @@ -826,9 +830,9 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, if (sdata->wdev.cac_started) { chandef = sdata->vif.bss_conf.chandef; WARN_ON(local->suspended); - mutex_lock(&local->iflist_mtx); + mutex_lock(&local->mtx); ieee80211_vif_release_channel(sdata); - mutex_unlock(&local->iflist_mtx); + mutex_unlock(&local->mtx); cfg80211_cac_event(sdata->dev, &chandef, NL80211_RADAR_CAC_ABORTED, GFP_KERNEL); |