diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 095b7d928d64..af0056e7e5b3 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -291,11 +291,9 @@ static int ieee80211_open(struct net_device *dev) | |||
291 | if (sdata->u.mntr_flags & MONITOR_FLAG_OTHER_BSS) | 291 | if (sdata->u.mntr_flags & MONITOR_FLAG_OTHER_BSS) |
292 | local->fif_other_bss++; | 292 | local->fif_other_bss++; |
293 | 293 | ||
294 | netif_tx_lock_bh(local->mdev); | 294 | netif_addr_lock_bh(local->mdev); |
295 | netif_addr_lock(local->mdev); | ||
296 | ieee80211_configure_filter(local); | 295 | ieee80211_configure_filter(local); |
297 | netif_addr_unlock(local->mdev); | 296 | netif_addr_unlock_bh(local->mdev); |
298 | netif_tx_unlock_bh(local->mdev); | ||
299 | break; | 297 | break; |
300 | case IEEE80211_IF_TYPE_STA: | 298 | case IEEE80211_IF_TYPE_STA: |
301 | case IEEE80211_IF_TYPE_IBSS: | 299 | case IEEE80211_IF_TYPE_IBSS: |
@@ -492,11 +490,9 @@ static int ieee80211_stop(struct net_device *dev) | |||
492 | if (sdata->u.mntr_flags & MONITOR_FLAG_OTHER_BSS) | 490 | if (sdata->u.mntr_flags & MONITOR_FLAG_OTHER_BSS) |
493 | local->fif_other_bss--; | 491 | local->fif_other_bss--; |
494 | 492 | ||
495 | netif_tx_lock_bh(local->mdev); | 493 | netif_addr_lock_bh(local->mdev); |
496 | netif_addr_lock(local->mdev); | ||
497 | ieee80211_configure_filter(local); | 494 | ieee80211_configure_filter(local); |
498 | netif_addr_unlock(local->mdev); | 495 | netif_addr_unlock_bh(local->mdev); |
499 | netif_tx_unlock_bh(local->mdev); | ||
500 | break; | 496 | break; |
501 | case IEEE80211_IF_TYPE_MESH_POINT: | 497 | case IEEE80211_IF_TYPE_MESH_POINT: |
502 | case IEEE80211_IF_TYPE_STA: | 498 | case IEEE80211_IF_TYPE_STA: |