mirror of https://gitee.com/openkylin/linux.git
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: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
1c01c53883
commit
895cf5f3d6
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue