aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/main.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-15 03:15:08 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-15 03:15:08 -0400
commitb9e40857682ecfc5bcd0356a23ff409883ffb982 (patch)
treed241fd289bed6d16f36f6d26815c1e78e212c89a /drivers/net/wireless/libertas/main.c
parente308a5d806c852f56590ffdd3834d0df0cbed8d7 (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 'drivers/net/wireless/libertas/main.c')
-rw-r--r--drivers/net/wireless/libertas/main.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index 42e9b2771eab..14d5d61cec4c 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -593,8 +593,7 @@ static int lbs_add_mcast_addrs(struct cmd_ds_mac_multicast_adr *cmd,
593 if ((dev->flags & (IFF_UP|IFF_MULTICAST)) != (IFF_UP|IFF_MULTICAST)) 593 if ((dev->flags & (IFF_UP|IFF_MULTICAST)) != (IFF_UP|IFF_MULTICAST))
594 return nr_addrs; 594 return nr_addrs;
595 595
596 netif_tx_lock_bh(dev); 596 netif_addr_lock_bh(dev);
597 netif_addr_lock(dev);
598 for (mc_list = dev->mc_list; mc_list; mc_list = mc_list->next) { 597 for (mc_list = dev->mc_list; mc_list; mc_list = mc_list->next) {
599 if (mac_in_list(cmd->maclist, nr_addrs, mc_list->dmi_addr)) { 598 if (mac_in_list(cmd->maclist, nr_addrs, mc_list->dmi_addr)) {
600 lbs_deb_net("mcast address %s:%s skipped\n", dev->name, 599 lbs_deb_net("mcast address %s:%s skipped\n", dev->name,
@@ -609,8 +608,7 @@ static int lbs_add_mcast_addrs(struct cmd_ds_mac_multicast_adr *cmd,
609 print_mac(mac, mc_list->dmi_addr)); 608 print_mac(mac, mc_list->dmi_addr));
610 i++; 609 i++;
611 } 610 }
612 netif_addr_unlock(dev); 611 netif_addr_unlock_bh(dev);
613 netif_tx_unlock_bh(dev);
614 if (mc_list) 612 if (mc_list)
615 return -EOVERFLOW; 613 return -EOVERFLOW;
616 614