IPoIB: Remove priv->mcast_mutex
authorEli Cohen <eli@mellanox.co.il>
Tue, 15 Jul 2008 06:48:50 +0000 (23:48 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 15 Jul 2008 06:48:50 +0000 (23:48 -0700)
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>
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_verbs.c

index 66a897567ea9402757998bdb32ad1052ef795d4d..b8753222c8704f347e15975a71069f57f6d1e974 100644 (file)
@@ -277,7 +277,6 @@ struct ipoib_dev_priv {
 
        unsigned long flags;
 
-       struct mutex mcast_mutex;
        struct mutex vlan_mutex;
 
        struct rb_root  path_tree;
index b3fd7e8333cfbf4e84c2d8f40124a84543835da1..8be9ea0436e6bf4751042a644bb78912a319627b 100644 (file)
@@ -1072,7 +1072,6 @@ static void ipoib_setup(struct net_device *dev)
        spin_lock_init(&priv->lock);
        spin_lock_init(&priv->tx_lock);
 
-       mutex_init(&priv->mcast_mutex);
        mutex_init(&priv->vlan_mutex);
 
        INIT_LIST_HEAD(&priv->path_list);
index 96f9aa79cbbe8ed47c8a51fdcebb911af25ffd0c..f50ebe0643ef0f5db3fc2307572cbaa267be6178 100644 (file)
@@ -61,9 +61,7 @@ int ipoib_mcast_attach(struct net_device *dev, u16 mlid, union ib_gid *mgid)
        }
 
        /* attach QP to multicast group */
-       mutex_lock(&priv->mcast_mutex);
        ret = ib_attach_mcast(priv->qp, mgid, mlid);
-       mutex_unlock(&priv->mcast_mutex);
        if (ret)
                ipoib_warn(priv, "failed to attach to multicast group, ret = %d\n", ret);
 
@@ -77,9 +75,7 @@ int ipoib_mcast_detach(struct net_device *dev, u16 mlid, union ib_gid *mgid)
        struct ipoib_dev_priv *priv = netdev_priv(dev);
        int ret;
 
-       mutex_lock(&priv->mcast_mutex);
        ret = ib_detach_mcast(priv->qp, mgid, mlid);
-       mutex_unlock(&priv->mcast_mutex);
        if (ret)
                ipoib_warn(priv, "ib_detach_mcast failed (result = %d)\n", ret);