]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
IB/ehca: Supply QP token for SRQ base QPs
authorJoachim Fenkes <fenkes@de.ibm.com>
Tue, 16 Oct 2007 15:24:07 +0000 (17:24 +0200)
committerRoland Dreier <rolandd@cisco.com>
Thu, 18 Oct 2007 04:45:17 +0000 (21:45 -0700)
Because hardware reports the SRQ token in RWQEs of SRQ base QPs, supply the
base QP token as SRQ token, so we can properly find the SRQ base QP.

Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ehca/ehca_qp.c

index e2bd62be11e71ba735af508731181cf14b2c9d1b..de182648b2823404ebfc6188f1a68508e9972c00 100644 (file)
@@ -451,7 +451,6 @@ static struct ehca_qp *internal_create_qp(
                has_srq = 1;
                parms.ext_type = EQPT_SRQBASE;
                parms.srq_qpn = my_srq->real_qp_num;
-               parms.srq_token = my_srq->token;
        }
 
        if (is_llqp && has_srq) {
@@ -583,6 +582,9 @@ static struct ehca_qp *internal_create_qp(
                goto create_qp_exit1;
        }
 
+       if (has_srq)
+               parms.srq_token = my_qp->token;
+
        parms.servicetype = ibqptype2servicetype(qp_type);
        if (parms.servicetype < 0) {
                ret = -EINVAL;