[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080509201902.13077.53047.stgit@dell3.ogc.int>
Date: Fri, 09 May 2008 15:19:02 -0500
From: Steve Wise <swise@...ngridcomputing.com>
To: rdreier@...co.com
Cc: linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
general@...ts.openfabrics.org
Subject: [PATCH 2.6.26] RDMA/cxgb3: Wrap the software sq ptr as needed on flush.
cxio_flush_sq() was failing to wrap around the sw-sq causing garbage
completion entries on a flush operation.
Signed-off-by: Steve Wise <swise@...ngridcomputing.com>
---
drivers/infiniband/hw/cxgb3/cxio_hal.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c b/drivers/infiniband/hw/cxgb3/cxio_hal.c
index 5fd8506..20a6326 100644
--- a/drivers/infiniband/hw/cxgb3/cxio_hal.c
+++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c
@@ -405,11 +405,11 @@ int cxio_flush_sq(struct t3_wq *wq, struct t3_cq *cq, int count)
struct t3_swsq *sqp = wq->sq + Q_PTR2IDX(wq->sq_rptr, wq->sq_size_log2);
ptr = wq->sq_rptr + count;
- sqp += count;
+ sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2);
while (ptr != wq->sq_wptr) {
insert_sq_cqe(wq, cq, sqp);
- sqp++;
ptr++;
+ sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2);
flushed++;
}
return flushed;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists