From: Dotan Barak Date: Thu, 13 Jul 2006 08:05:49 +0000 (+0300) Subject: IB/mthca: Fix SRQ limit event range check X-Git-Tag: upstream/snapshot3+hdmi~38773 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1252c517cf3df240ae51946a096035765dfd2e6d;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git IB/mthca: Fix SRQ limit event range check Mem-free HCAs always keep one spare SRQ WQE, so the SRQ limit cannot be set beyond srq->max - 1. Signed-off-by: Dotan Barak Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/hw/mthca/mthca_srq.c b/drivers/infiniband/hw/mthca/mthca_srq.c index fab417c..b60a9d7 100644 --- a/drivers/infiniband/hw/mthca/mthca_srq.c +++ b/drivers/infiniband/hw/mthca/mthca_srq.c @@ -370,7 +370,8 @@ int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, return -EINVAL; if (attr_mask & IB_SRQ_LIMIT) { - if (attr->srq_limit > srq->max) + u32 max_wr = mthca_is_memfree(dev) ? srq->max - 1 : srq->max; + if (attr->srq_limit > max_wr) return -EINVAL; mutex_lock(&srq->mutex);