Commit 074f315f authored by Junxian Huang's avatar Junxian Huang Committed by Jason Gunthorpe
Browse files

RDMA/hns: Bugfix for the missing assignment for dip_idx

When the dgid-dip_idx mapping relationship exists, dip should be assigned.

Fixes: f91696f2 ("RDMA/hns: Support congestion control type selection according to the FW")
Link: https://lore.kernel.org/r/1629884592-23424-3-git-send-email-liangwenpeng@huawei.com


Signed-off-by: default avatarJunxian Huang <huangjunxian4@hisilicon.com>
Signed-off-by: default avatarWenpeng Liang <liangwenpeng@huawei.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 4303e612
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -4508,9 +4508,11 @@ static int get_dip_ctx_idx(struct ib_qp *ibqp, const struct ib_qp_attr *attr,
	spin_lock_irqsave(&hr_dev->dip_list_lock, flags);

	list_for_each_entry(hr_dip, &hr_dev->dip_list, node) {
		if (!memcmp(grh->dgid.raw, hr_dip->dgid, 16))
		if (!memcmp(grh->dgid.raw, hr_dip->dgid, 16)) {
			*dip_idx = hr_dip->dip_idx;
			goto out;
		}
	}

	/* If no dgid is found, a new dip and a mapping between dgid and
	 * dip_idx will be created.