From: Selvin Xavier <[email protected]>

[ Upstream commit b898d5c50cab1f985e77d053eb5c4d2c4a7694ae ]

Only static WQE is supported for SRQ. So always use the max supported SGEs
while calculating SRQ entry size.

Fixes: 2bb3c32c5c5f ("RDMA/bnxt_re: Change wr posting logic to accommodate 
variable wqes")
Link: 
https://lore.kernel.org/r/[email protected]
Signed-off-by: Devesh Sharma <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c 
b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index f9c999d5ba28e..266de55f57192 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -1657,8 +1657,8 @@ int bnxt_re_create_srq(struct ib_srq *ib_srq,
        srq->qplib_srq.max_wqe = entries;
 
        srq->qplib_srq.max_sge = srq_init_attr->attr.max_sge;
-       srq->qplib_srq.wqe_size =
-                       bnxt_re_get_rwqe_size(srq->qplib_srq.max_sge);
+        /* 128 byte wqe size for SRQ . So use max sges */
+       srq->qplib_srq.wqe_size = bnxt_re_get_rwqe_size(dev_attr->max_srq_sges);
        srq->qplib_srq.threshold = srq_init_attr->attr.srq_limit;
        srq->srq_limit = srq_init_attr->attr.srq_limit;
        srq->qplib_srq.eventq_hw_ring_id = rdev->nq[0].ring_id;
-- 
2.27.0



Reply via email to