]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
RDMA/bnxt_re: Fix incorrect AVID type in WQE structure
authorSaravanan Vajravel <saravanan.vajravel@broadcom.com>
Thu, 19 Sep 2024 03:05:57 +0000 (20:05 -0700)
committerLeon Romanovsky <leon@kernel.org>
Tue, 8 Oct 2024 07:12:20 +0000 (10:12 +0300)
Driver uses internal data structure to construct WQE frame.
It used avid type as u16 which can accommodate up to 64K AVs.
When outstanding AVID crosses 64K, driver truncates AVID and
hence it uses incorrect AVID to WR. This leads to WR failure
due to invalid AV ID and QP is moved to error state with reason
set to 19 (INVALID AVID). When RDMA CM path is used, this issue
hits QP1 and it is moved to error state

Fixes: 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
Link: https://patch.msgid.link/r/1726715161-18941-3-git-send-email-selvin.xavier@broadcom.com
Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
Reviewed-by: Chandramohan Akula <chandramohan.akula@broadcom.com>
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@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/qplib_fp.h

index b62df8701950ff622309fb5840ab16189cebf1b9..820611a239433a5c085ad70198c181ed14273490 100644 (file)
@@ -170,7 +170,7 @@ struct bnxt_qplib_swqe {
                        };
                        u32             q_key;
                        u32             dst_qp;
-                       u16             avid;
+                       u32             avid;
                } send;
 
                /* Send Raw Ethernet and QP1 */