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);
 
        }
 
        /* 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);
 
        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);