diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-15 03:15:08 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-15 03:15:08 -0400 |
commit | b9e40857682ecfc5bcd0356a23ff409883ffb982 (patch) | |
tree | d241fd289bed6d16f36f6d26815c1e78e212c89a /net/mac80211/main.c | |
parent | e308a5d806c852f56590ffdd3834d0df0cbed8d7 (diff) |
netdev: Do not use TX lock to protect address lists.
Now that we have a specific lock to protect the network
device unicast and multicast lists, remove extraneous
grabs of the TX lock in cases where the code only needs
address list protection.
Signed-off-by: David S. Miller <davem@davemloft.net>
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: |