summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorNguyễn Văn Cao Nguyên <nguyennvc@greennode.ai>2026-09-30 14:51:42 +0700
committerLeon Romanovsky <leon@kernel.org>2026-09-30 09:48:40 -0400
commit6de34bfb56ad8c24bf63b243b5f32b345d9cdd4d (patch)
tree62320d09a6a93cfcd0da633105ab574edb4a07b9 /tools/lib/python
parent9d3259e41ccd5016cd2c6d013232b89df6d73011 (diff)
RDMA/irdma: Do not move a fresh RoCE QP to ERROR on RESET
irdma_modify_qp_roce() handles IB_QPS_RESET like IB_QPS_ERR and moves the QP to ERROR. On a QP that was never moved to INIT, this makes the following RESET->INIT fail with -EINVAL, while ibv_query_qp() still reports RESET. RESET->RESET is a valid transition. The Mooncake transfer engine resets every new QP before INIT, so it cannot connect over an E810, while mlx5 accepts the same sequence: ibv_create_qp(RC) -> RESET ibv_modify_qp(RESET) -> 0 ibv_modify_qp(INIT, ...) -> -EINVAL Skip the hardware modify when the QP has not been moved to INIT yet (iwarp_state is IRDMA_QP_STATE_INVALID), as there is nothing to flush. RESET after INIT still goes to ERROR. Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs") Assisted-by: LLM Signed-off-by: Nguyễn Văn Cao Nguyên <nguyennvc@greennode.ai> Link: https://patch.msgid.link/20260930-irdma-reset-fresh-qp-v1-1-065327274e2b@greennode.ai Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions