aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-15 03:13:44 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-15 03:13:44 -0400
commite308a5d806c852f56590ffdd3834d0df0cbed8d7 (patch)
tree294ff654e90950f5162737c26f4799b0b710b748 /drivers/infiniband/ulp
parentf1f28aa3510ddb84c966bac65611bb866c77a092 (diff)
netdev: Add netdev->addr_list_lock protection.
Add netif_addr_{lock,unlock}{,_bh}() helpers. Use them to protect operations that operate on or read the network device unicast and multicast address lists. Also use them in cases where the code simply wants to block calls into the driver's ->set_rx_mode() and ->set_multicast_list() methods. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/infiniband/ulp')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_multicast.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index 3f663fb852c1..261ab7150431 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -775,6 +775,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
775 775
776 local_irq_save(flags); 776 local_irq_save(flags);
777 netif_tx_lock(dev); 777 netif_tx_lock(dev);
778 netif_addr_lock(dev);
778 spin_lock(&priv->lock); 779 spin_lock(&priv->lock);
779 780
780 /* 781 /*
@@ -851,6 +852,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
851 } 852 }
852 853
853 spin_unlock(&priv->lock); 854 spin_unlock(&priv->lock);
855 netif_addr_unlock(dev);
854 netif_tx_unlock(dev); 856 netif_tx_unlock(dev);
855 local_irq_restore(flags); 857 local_irq_restore(flags);
856 858