]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
RDMA/bnxt_re: Fix max SGEs for the Work Request
authorKashyap Desai <kashyap.desai@broadcom.com>
Wed, 4 Dec 2024 07:54:12 +0000 (13:24 +0530)
committerLeon Romanovsky <leon@kernel.org>
Thu, 5 Dec 2024 08:57:52 +0000 (03:57 -0500)
Gen P7 supports up to 13 SGEs for now. WQE software structure
can hold only 6 now. Since the max send sge is reported as
13, the stack can give requests up to 13 SGEs. This is causing
traffic failures and system crashes.

Use the define for max SGE supported for variable size. This
will work for both static and variable WQEs.

Fixes: 227f51743b61 ("RDMA/bnxt_re: Fix the max WQE size for static WQE support")
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Link: https://patch.msgid.link/20241204075416.478431-2-kalesh-anakkur.purayil@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/bnxt_re/qplib_fp.h

index ef3424c8134561b9af47c6744e03041649a9a364..19e279871f107d2870ba4151857d536aa388ac6b 100644 (file)
@@ -114,7 +114,6 @@ struct bnxt_qplib_sge {
        u32                             size;
 };
 
-#define BNXT_QPLIB_QP_MAX_SGL  6
 struct bnxt_qplib_swq {
        u64                             wr_id;
        int                             next_idx;
@@ -154,7 +153,7 @@ struct bnxt_qplib_swqe {
 #define BNXT_QPLIB_SWQE_FLAGS_UC_FENCE                 BIT(2)
 #define BNXT_QPLIB_SWQE_FLAGS_SOLICIT_EVENT            BIT(3)
 #define BNXT_QPLIB_SWQE_FLAGS_INLINE                   BIT(4)
-       struct bnxt_qplib_sge           sg_list[BNXT_QPLIB_QP_MAX_SGL];
+       struct bnxt_qplib_sge           sg_list[BNXT_VAR_MAX_SGE];
        int                             num_sge;
        /* Max inline data is 96 bytes */
        u32                             inline_len;