> diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
> index 7172559..f7e4cb9 100644
> --- a/drivers/infiniband/core/cma.c
> +++ b/drivers/infiniband/core/cma.c
> @@ -3056,9 +3056,16 @@ static int cma_join_ib_multicast(struct rdma_id_private
> *id_priv,
>                   IB_SA_MCMEMBER_REC_FLOW_LABEL |
>                   IB_SA_MCMEMBER_REC_TRAFFIC_CLASS;
> 
> -     if (id_priv->id.ps == RDMA_PS_IPOIB)
> +     if (id_priv->id.ps == RDMA_PS_IPOIB) {
>               comp_mask |= IB_SA_MCMEMBER_REC_RATE |
> -                          IB_SA_MCMEMBER_REC_RATE_SELECTOR;
> +                          IB_SA_MCMEMBER_REC_RATE_SELECTOR |
> +                          IB_SA_MCMEMBER_REC_MTU_SELECTOR |
> +                          IB_SA_MCMEMBER_REC_MTU |
> +                          IB_SA_MCMEMBER_REC_HOP_LIMIT;
> +
> +             rec.rate_selector = IB_SA_EQ;
> +             rec.mtu_selector  = IB_SA_EQ;
> +     }

So, the rdma cm joins a group without these set.  The SA picks some values, 
which differ from those used by ipoib.  IPoIB then joins a group, which fails 
because of the mismatch.  Is this the problem?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to