> 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