Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 895cf5f3 authored by Steve Wise's avatar Steve Wise Committed by Roland Dreier
Browse files

RDMA/cxgb4: CQ size must be IQ size - 2



We need 1 extra entry for the status page and 1 to always have 1 free
entry to detect when the queue is full.

Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 1c01c538
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -780,6 +780,9 @@ struct ib_cq *c4iw_create_cq(struct ib_device *ibdev, int entries,
	/* account for the status page. */
	entries++;

	/* IQ needs one extra entry to differentiate full vs empty. */
	entries++;

	/*
	 * entries must be multiple of 16 for HW.
	 */
@@ -801,7 +804,7 @@ struct ib_cq *c4iw_create_cq(struct ib_device *ibdev, int entries,

	chp->rhp = rhp;
	chp->cq.size--;				/* status page */
	chp->ibcq.cqe = chp->cq.size;
	chp->ibcq.cqe = chp->cq.size - 1;
	spin_lock_init(&chp->lock);
	atomic_set(&chp->refcnt, 1);
	init_waitqueue_head(&chp->wait);