linux/drivers/infiniband/hw/erdma
Cheng Xu 00baeade70 RDMA/erdma: Use IRQ-safe XArray helpers for QP and CQ tables
Locked QP and CQ lookups from EQ interrupts can deadlock with
create-path XArray updates. If an interrupt arrives while the create
path holds the plain xa_lock, the lookup spins forever trying to
acquire the same lock.

Use IRQ-safe XArray helpers for all QP and CQ create-path updates,
including the GSI QP store and error paths. Initialize both arrays with
XA_FLAGS_LOCK_IRQ so sleeping allocations preserve interrupt state.

Fixes: 98df2aee14 ("RDMA/erdma: Hold CQ references when processing EQ events")
Fixes: a52eeff320 ("RDMA/erdma: Hold QP references for AE and CM processing")
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com>
Link: https://patch.msgid.link/20260828030344.88021-1-chengyou@linux.alibaba.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2026-09-02 12:23:27 -04:00
..
erdma_cm.c RDMA/erdma: Hold QP references for AE and CM processing 2026-08-05 11:00:28 -04:00
erdma_cm.h RDMA/erdma: Unify byte ordering APIs usage 2023-03-22 13:10:46 +02:00
erdma_cmdq.c RDMA/erdma: Support non-sleeping erdma_post_cmd_wait() 2024-12-30 13:42:52 -05:00
erdma_cq.c RDMA/erdma: Support UD QPs and UD WRs 2024-12-16 08:20:05 -05:00
erdma_eq.c RDMA/erdma: Hold QP references for AE and CM processing 2026-08-05 11:00:28 -04:00
erdma_hw.h RDMA/erdma: Support UD QPs and UD WRs 2024-12-16 08:20:05 -05:00
erdma_main.c RDMA/erdma: Use IRQ-safe XArray helpers for QP and CQ tables 2026-09-02 12:23:27 -04:00
erdma_qp.c RDMA/erdma: initialize ret for empty receive WR lists 2026-07-02 14:16:44 -03:00
erdma_verbs.c RDMA/erdma: Use IRQ-safe XArray helpers for QP and CQ tables 2026-09-02 12:23:27 -04:00
erdma_verbs.h RDMA/erdma: Hold QP references for AE and CM processing 2026-08-05 11:00:28 -04:00
erdma.h RDMA/erdma: Remove numa_node from struct erdma_devattr 2026-03-05 05:41:02 -05:00
Kconfig RDMA/erdma: restrict the driver to little-endian systems 2026-08-06 07:34:12 -04:00
Makefile RDMA/erdma: Add driver to kernel build environment 2022-07-27 16:04:05 -03:00