IB/core: Honor return status of ib_init_ah_from_mcmember()
The return status of ib_init_ah_from_mcmember() is ignored by cma_ib_mc_handler(). Honor it and return error event if ah attribute initialization failed. Reviewed-by: Daniel Jurgens <danielj@mellanox.com> Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
b26c4a1138
commit
6d337179f2
|
@ -3918,10 +3918,14 @@ static int cma_ib_mc_handler(int status, struct ib_sa_multicast *multicast)
|
||||||
rdma_start_port(id_priv->cma_dev->device)];
|
rdma_start_port(id_priv->cma_dev->device)];
|
||||||
|
|
||||||
event.event = RDMA_CM_EVENT_MULTICAST_JOIN;
|
event.event = RDMA_CM_EVENT_MULTICAST_JOIN;
|
||||||
ib_init_ah_from_mcmember(id_priv->id.device,
|
ret = ib_init_ah_from_mcmember(id_priv->id.device,
|
||||||
id_priv->id.port_num, &multicast->rec,
|
id_priv->id.port_num,
|
||||||
ndev, gid_type,
|
&multicast->rec,
|
||||||
&event.param.ud.ah_attr);
|
ndev, gid_type,
|
||||||
|
&event.param.ud.ah_attr);
|
||||||
|
if (ret)
|
||||||
|
event.event = RDMA_CM_EVENT_MULTICAST_ERROR;
|
||||||
|
|
||||||
event.param.ud.qp_num = 0xFFFFFF;
|
event.param.ud.qp_num = 0xFFFFFF;
|
||||||
event.param.ud.qkey = be32_to_cpu(multicast->rec.qkey);
|
event.param.ud.qkey = be32_to_cpu(multicast->rec.qkey);
|
||||||
if (ndev)
|
if (ndev)
|
||||||
|
|
Loading…
Reference in a new issue