RDMA/cxgb4: Use correct QID in insert_recv_cqe()
authorJonathan Lallinger <jonathan@ogc.us>
Thu, 13 Oct 2011 18:56:59 +0000 (13:56 -0500)
committerRoland Dreier <roland@purestorage.com>
Fri, 14 Oct 2011 21:23:40 +0000 (14:23 -0700)
When creating flushed receive CQEs, set the QPID field in the t4_cqe
to the SQ QID and not the RQ QID.  Otherwise the poll code will not
find the correct QP context.

Signed-off by: Jonathan Lallinger <jonathan@ogc.us>
Signed-off by: Steve Wise <swise@ogc.us>

Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/cxgb4/cq.c

index 1720dc790d13d1367594478a95ad1c9148bb91b1..901c5fbf71a41833646a6f1463da0b11fe6056db 100644 (file)
@@ -185,7 +185,7 @@ static void insert_recv_cqe(struct t4_wq *wq, struct t4_cq *cq)
                                 V_CQE_OPCODE(FW_RI_SEND) |
                                 V_CQE_TYPE(0) |
                                 V_CQE_SWCQE(1) |
-                                V_CQE_QPID(wq->rq.qid));
+                                V_CQE_QPID(wq->sq.qid));
        cqe.bits_type_ts = cpu_to_be64(V_CQE_GENBIT((u64)cq->gen));
        cq->sw_queue[cq->sw_pidx] = cqe;
        t4_swcq_produce(cq);