Переглянути джерело

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>
Patrick Marchand Latifi 17 роки тому
батько
коміт
450bb3875f
1 змінених файлів з 4 додано та 0 видалено
  1. 4 0
      drivers/infiniband/hw/ipath/ipath_rc.c

+ 4 - 0
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.