public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] IW_CXGB4: Fix iw_cxgb4 recv cqe
@ 2011-10-13 18:15 Jonathan Lallinger
       [not found] ` <20111013181528.29250.15355.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Lallinger @ 2011-10-13 18:15 UTC (permalink / raw)
  To: roland-BHEL68pLQRGGvPXPguhicg; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA

Upon completion of a work request on the recieve queue the 
IW_CXGB4 driver was incorrectly posting a completion back to
the recieve queue instead of the send queue. This resulted in 
hanging worker threads because they were never notified that
the work requests were completed.

This change fixes the logic so that insert_recv_cqe posts
to the correct queue.

Signed-off by: Jonathan Lallinger <jonathan-/Yg/VP3ZvrM@public.gmane.org>
Signed-off by: Steve Wise <swise-/Yg/VP3ZvrM@public.gmane.org>
---

 drivers/infiniband/hw/cxgb4/cq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index 1720dc7..901c5fb 100644
--- a/drivers/infiniband/hw/cxgb4/cq.c
+++ b/drivers/infiniband/hw/cxgb4/cq.c
@@ -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);

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [PATCH] IW_CXGB4: Fix iw_cxgb4 recv cqe
@ 2011-10-13 18:56 Jonathan Lallinger
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Lallinger @ 2011-10-13 18:56 UTC (permalink / raw)
  To: roland-BHEL68pLQRGGvPXPguhicg; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA

When creating flushed recv 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-/Yg/VP3ZvrM@public.gmane.org>
Signed-off by: Steve Wise <swise-/Yg/VP3ZvrM@public.gmane.org>
---

 drivers/infiniband/hw/cxgb4/cq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index 1720dc7..901c5fb 100644
--- a/drivers/infiniband/hw/cxgb4/cq.c
+++ b/drivers/infiniband/hw/cxgb4/cq.c
@@ -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);

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-10-13 18:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-13 18:15 [PATCH] IW_CXGB4: Fix iw_cxgb4 recv cqe Jonathan Lallinger
     [not found] ` <20111013181528.29250.15355.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2011-10-13 18:19   ` Roland Dreier
  -- strict thread matches above, loose matches on Subject: below --
2011-10-13 18:56 Jonathan Lallinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox