[ofa-general] [PATCH 5/5] IB/ipath -- reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets

Ralph Campbell ralph.campbell at qlogic.com
Tue Mar 11 11:51:20 PDT 2008


From: Patrick Marchand Latifi <patrick.latifi at qlogic.com>

Reset the retry counter once we get a successful
RDMA_READ_RESPONSE_MIDDLE packet.  This fix will prevent the
requester from reporting a retry exceeded error too early.

Signed-off-by: Patrick Marchand Latifi <patrick.latifi at qlogic.com>
---

 drivers/infiniband/hw/ipath/ipath_rc.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/infiniband/hw/ipath/ipath_rc.c b/drivers/infiniband/hw/ipath/ipath_rc.c
index 459e46e..40f3e37 100644
--- a/drivers/infiniband/hw/ipath/ipath_rc.c
+++ b/drivers/infiniband/hw/ipath/ipath_rc.c
@@ -1196,6 +1196,10 @@ static inline void ipath_rc_rcv_resp(struct ipath_ibdev *dev,
 			list_move_tail(&qp->timerwait,
 				       &dev->pending[dev->pending_index]);
 		spin_unlock(&dev->pending_lock);
+
+		if (opcode == OP(RDMA_READ_RESPONSE_MIDDLE))
+			qp->s_retry = qp->s_retry_cnt;
+
 		/*
 		 * Update the RDMA receive state but do the copy w/o
 		 * holding the locks and blocking interrupts.




More information about the general mailing list