From: Patrick Marchand Latifi Date: Thu, 21 Feb 2008 03:08:10 +0000 (-0800) Subject: IB/ipath: Reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets X-Git-Tag: v3.12-rc1~22395^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=450bb3875f5f5ab3679823c941d6045d16967370;p=kernel%2Fkernel-generic.git IB/ipath: Reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets Reset the retry counter when we get a good 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 --- 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.