mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 15:46:42 +07:00
IB/core: Attempt DMAC resolution for only RoCE
Instead of returning 0 (success) for RoCE scenarios where DMAC should not be resolved, avoid such attempt and make code consistent with ib_create_user_ah(). Signed-off-by: Parav Pandit <parav@mellanox.com> Reviewed-by: Daniel Jurgens <danielj@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
b96ac05a87
commit
f2290d6d52
@ -1301,9 +1301,6 @@ static int ib_resolve_eth_dmac(struct ib_device *device,
|
||||
if (!rdma_is_port_valid(device, rdma_ah_get_port_num(ah_attr)))
|
||||
return -EINVAL;
|
||||
|
||||
if (ah_attr->type != RDMA_AH_ATTR_TYPE_ROCE)
|
||||
return 0;
|
||||
|
||||
grh = rdma_ah_retrieve_grh(ah_attr);
|
||||
|
||||
if (rdma_is_multicast_addr((struct in6_addr *)ah_attr->grh.dgid.raw)) {
|
||||
@ -1369,7 +1366,8 @@ int ib_modify_qp_with_udata(struct ib_qp *ib_qp, struct ib_qp_attr *attr,
|
||||
struct ib_qp *qp = ib_qp->real_qp;
|
||||
int ret;
|
||||
|
||||
if (attr_mask & IB_QP_AV) {
|
||||
if (attr_mask & IB_QP_AV &&
|
||||
attr->ah_attr.type == RDMA_AH_ATTR_TYPE_ROCE) {
|
||||
ret = ib_resolve_eth_dmac(qp->device, &attr->ah_attr);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user