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 <patrick.latifi@qlogic.com>
This commit is contained in:
Patrick Marchand Latifi 2008-02-20 19:08:10 -08:00 committed by Roland Dreier
parent 2a049e514b
commit 450bb3875f
1 changed files with 4 additions and 0 deletions

View File

@ -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.