aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEli Cohen <eli@mellanox.co.il>2008-07-15 02:48:50 -0400
committerRoland Dreier <rolandd@cisco.com>2008-07-15 02:48:50 -0400
commit5892eff91ad60ba365ae7f75050ce464036c5396 (patch)
tree8f1ddce8b1f71688ed60d6d9a8f47ede4e7067fe /drivers
parentc03d4731b5b6de45b95a10bf1d510dde423d6757 (diff)
IPoIB: Remove priv->mcast_mutex
No need for a mutex around calls to ib_attach_mcast/ib_detach_mcast since these operations are synchronized at the HW driver layer. Signed-off-by: Eli Cohen <eli@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib.h1
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_main.c1
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_verbs.c4
3 files changed, 0 insertions, 6 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h
index 66a897567ea9..b8753222c870 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib.h
+++ b/drivers/infiniband/ulp/ipoib/ipoib.h
@@ -277,7 +277,6 @@ struct ipoib_dev_priv {
277 277
278 unsigned long flags; 278 unsigned long flags;
279 279
280 struct mutex mcast_mutex;
281 struct mutex vlan_mutex; 280 struct mutex vlan_mutex;
282 281
283 struct rb_root path_tree; 282 struct rb_root path_tree;
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index b3fd7e8333cf..8be9ea0436e6 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1072,7 +1072,6 @@ static void ipoib_setup(struct net_device *dev)
1072 spin_lock_init(&priv->lock); 1072 spin_lock_init(&priv->lock);
1073 spin_lock_init(&priv->tx_lock); 1073 spin_lock_init(&priv->tx_lock);
1074 1074
1075 mutex_init(&priv->mcast_mutex);
1076 mutex_init(&priv->vlan_mutex); 1075 mutex_init(&priv->vlan_mutex);
1077 1076
1078 INIT_LIST_HEAD(&priv->path_list); 1077 INIT_LIST_HEAD(&priv->path_list);
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
index 96f9aa79cbbe..f50ebe0643ef 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
@@ -61,9 +61,7 @@ int ipoib_mcast_attach(struct net_device *dev, u16 mlid, union ib_gid *mgid)
61 } 61 }
62 62
63 /* attach QP to multicast group */ 63 /* attach QP to multicast group */
64 mutex_lock(&priv->mcast_mutex);
65 ret = ib_attach_mcast(priv->qp, mgid, mlid); 64 ret = ib_attach_mcast(priv->qp, mgid, mlid);
66 mutex_unlock(&priv->mcast_mutex);
67 if (ret) 65 if (ret)
68 ipoib_warn(priv, "failed to attach to multicast group, ret = %d\n", ret); 66 ipoib_warn(priv, "failed to attach to multicast group, ret = %d\n", ret);
69 67
@@ -77,9 +75,7 @@ int ipoib_mcast_detach(struct net_device *dev, u16 mlid, union ib_gid *mgid)
77 struct ipoib_dev_priv *priv = netdev_priv(dev); 75 struct ipoib_dev_priv *priv = netdev_priv(dev);
78 int ret; 76 int ret;
79 77
80 mutex_lock(&priv->mcast_mutex);
81 ret = ib_detach_mcast(priv->qp, mgid, mlid); 78 ret = ib_detach_mcast(priv->qp, mgid, mlid);
82 mutex_unlock(&priv->mcast_mutex);
83 if (ret) 79 if (ret)
84 ipoib_warn(priv, "ib_detach_mcast failed (result = %d)\n", ret); 80 ipoib_warn(priv, "ib_detach_mcast failed (result = %d)\n", ret);
85 81