[PATCH 5.11 433/775] RDMA/hns: Force srq_limit to 0 when creating SRQ

From: Greg Kroah-Hartman
Date: Tue Mar 02 2021 - 00:10:35 EST


From: Wenpeng Liang <liangwenpeng@xxxxxxxxxx>

[ Upstream commit b5df9b7a2f965b7903850d8f89846ffe0080b84b ]

According to the IB Specification, srq_limit shouldn't be configured
during SRQ creation. If a user set srq_limit at this time, the driver
should forced it to zero, or the result of creating SRQ will conflict with
the result of querying SRQ.

Fixes: c7bcb13442e1 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
Link: https://lore.kernel.org/r/1611997090-48820-4-git-send-email-liweihang@xxxxxxxxxx
Signed-off-by: Wenpeng Liang <liangwenpeng@xxxxxxxxxx>
Signed-off-by: Weihang Li <liweihang@xxxxxxxxxx>
Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/infiniband/hw/hns/hns_roce_srq.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/infiniband/hw/hns/hns_roce_srq.c b/drivers/infiniband/hw/hns/hns_roce_srq.c
index 9f60a0a745e11..ecc42c59e3cfc 100644
--- a/drivers/infiniband/hw/hns/hns_roce_srq.c
+++ b/drivers/infiniband/hw/hns/hns_roce_srq.c
@@ -338,6 +338,7 @@ int hns_roce_create_srq(struct ib_srq *ib_srq,
roundup_pow_of_two(init_attr->attr.max_sge + srq->rsv_sge);
init_attr->attr.max_wr = srq->wqe_cnt;
init_attr->attr.max_sge = srq->max_gs;
+ init_attr->attr.srq_limit = 0;

if (udata) {
ret = ib_copy_from_udata(&ucmd, udata,
--
2.27.0