diff options
author | Eli Cohen <eli@mellanox.co.il> | 2008-07-15 02:48:50 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-07-15 02:48:50 -0400 |
commit | 5892eff91ad60ba365ae7f75050ce464036c5396 (patch) | |
tree | 8f1ddce8b1f71688ed60d6d9a8f47ede4e7067fe /drivers | |
parent | c03d4731b5b6de45b95a10bf1d510dde423d6757 (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.h | 1 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_main.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 4 |
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 | ||