]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/bnxt_re: Fix the max WQEs used in Static WQE mode
authorSelvin Xavier <selvin.xavier@broadcom.com>
Thu, 19 Sep 2024 03:06:01 +0000 (20:06 -0700)
committerLeon Romanovsky <leon@kernel.org>
Tue, 8 Oct 2024 07:12:36 +0000 (10:12 +0300)
max_sw_wqe used for static wqe mode should be same as the max_wqe.
Calculate the max_sw_wqe only for the variable WQE mode.

Fixes: de1d364c3815 ("RDMA/bnxt_re: Add support for Variable WQE in Genp7 adapters")
Link: https://patch.msgid.link/r/1726715161-18941-7-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/bnxt_re/ib_verbs.c

index 460f33914825c6865cd8e4b4b559f94cacb71653..e66ae9f22c710c1caf38d452b4d165add35d1f60 100644 (file)
@@ -1307,7 +1307,11 @@ static int bnxt_re_init_sq_attr(struct bnxt_re_qp *qp,
                        0 : BNXT_QPLIB_RESERVED_QP_WRS;
                entries = bnxt_re_init_depth(entries + diff + 1, uctx);
                sq->max_wqe = min_t(u32, entries, dev_attr->max_qp_wqes + diff + 1);
-               sq->max_sw_wqe = bnxt_qplib_get_depth(sq, qplqp->wqe_mode, true);
+               if (qplqp->wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE)
+                       sq->max_sw_wqe = bnxt_qplib_get_depth(sq, qplqp->wqe_mode, true);
+               else
+                       sq->max_sw_wqe = sq->max_wqe;
+
        }
        sq->q_full_delta = diff + 1;
        /*