RDMA/cxgb3: Fix iwch_create_cq() off-by-one error
authorJon Mason <jon@opengridcomputing.com>
Sun, 9 Mar 2008 20:54:12 +0000 (13:54 -0700)
committerRoland Dreier <rolandd@cisco.com>
Sun, 9 Mar 2008 20:54:12 +0000 (13:54 -0700)
The cxbg3 driver is unnecessarily decreasing the number of CQ entries by
one when creating a CQ.  This will cause the CQ not to have as many
entries as requested by the user if the user requests a power of 2 size.

Signed-off-by: Jon Mason <jon@opengridcomputing.com>
Acked-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/cxgb3/iwch_provider.c

index ee3d63cd1f963a6ac660434fc9a1661db1875e11..b2ea9210467f264cf574f74e6a44861e82dd0407 100644 (file)
@@ -189,7 +189,7 @@ static struct ib_cq *iwch_create_cq(struct ib_device *ibdev, int entries, int ve
                return ERR_PTR(-ENOMEM);
        }
        chp->rhp = rhp;
-       chp->ibcq.cqe = (1 << chp->cq.size_log2) - 1;
+       chp->ibcq.cqe = 1 << chp->cq.size_log2;
        spin_lock_init(&chp->lock);
        atomic_set(&chp->refcnt, 1);
        init_waitqueue_head(&chp->wait);