Commit 5575b764 authored by Jacob Moroni's avatar Jacob Moroni Committed by Leon Romanovsky
Browse files

RDMA/irdma: Set irdma_cq cq_num field during CQ create



The driver maintains a CQ table that is used to ensure that a CQ is
still valid when processing CQ related AEs. When a CQ is destroyed,
the table entry is cleared, using irdma_cq.cq_num as the index. This
field was never being set, so it was just always clearing out entry
0.

Additionally, the cq_num field size was increased to accommodate HW
supporting more than 64K CQs.

Fixes: b48c24c2 ("RDMA/irdma: Implement device supported verb APIs")
Signed-off-by: default avatarJacob Moroni <jmoroni@google.com>
Link: https://patch.msgid.link/20250923142439.943930-1-jmoroni@google.com


Acked-by: default avatarTatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 8d158f47
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2503,6 +2503,7 @@ static int irdma_create_cq(struct ib_cq *ibcq,
	spin_lock_init(&iwcq->lock);
	INIT_LIST_HEAD(&iwcq->resize_list);
	INIT_LIST_HEAD(&iwcq->cmpl_generated);
	iwcq->cq_num = cq_num;
	info.dev = dev;
	ukinfo->cq_size = max(entries, 4);
	ukinfo->cq_id = cq_num;
+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ struct irdma_srq {
struct irdma_cq {
	struct ib_cq ibcq;
	struct irdma_sc_cq sc_cq;
	u16 cq_num;
	u32 cq_num;
	bool user_mode;
	atomic_t armed;
	enum irdma_cmpl_notify last_notify;