diff options
author | Saravanan Vajravel <[email protected]> | 2024-09-18 20:05:57 -0700 |
---|---|---|
committer | Leon Romanovsky <[email protected]> | 2024-10-08 10:12:20 +0300 |
commit | 9ab20f76ae9fad55ebaf36bdff04aea1c2552374 (patch) | |
tree | 614a1c74f352bf26f69eac7ce6a2610461e50f75 | |
parent | 3fc5410f225d1651580a4aeb7c72f55e28673b53 (diff) |
RDMA/bnxt_re: Fix incorrect AVID type in WQE structure
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/[email protected]
Reviewed-by: Selvin Xavier <[email protected]>
Reviewed-by: Chandramohan Akula <[email protected]>
Signed-off-by: Saravanan Vajravel <[email protected]>
Signed-off-by: Kalesh AP <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
Signed-off-by: Leon Romanovsky <[email protected]>
-rw-r--r-- | drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.h b/drivers/infiniband/hw/bnxt_re/qplib_fp.h index b62df8701950..820611a23943 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_fp.h +++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.h @@ -170,7 +170,7 @@ struct bnxt_qplib_swqe { }; u32 q_key; u32 dst_qp; - u16 avid; + u32 avid; } send; /* Send Raw Ethernet and QP1 */ |