[ewg] pull request
Mike Marciniszyn
mike.marciniszyn at qlogic.com
Wed Feb 16 07:55:16 PST 2011
Please pull the following fix from
git.openfabrics.org/~mmarciniszyn/scm/linux-2.6.to_ofed. This fixes an issue revealed during OFED 1.5.3 testing.
Mike
commit 0012f25501856cf0f47397fbb57e26bf46b11b99
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date: Wed Feb 16 09:47:41 2011 -0500
IB/qib: Prevent double completions after a timeout or RNR error
From: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
There is a double completion associated with error handling
for RC QP's.
The sequence is:
- The do_rc_ack() routine fields an RNR nack and there are 0 rnr_retries
configured on the QP.
- qib_error_qp() stops the pending timer
- qib_rc_send_complete() is called from sdma_complete()
- qib_rc_send_complete() starts the timer because the msb of the psn just
completed says and ack is needed.
- a bunch of flushes occur as ipoib posts wqe's to an error'ed qp
- rc_timeout() calls qib_restart_rc()
- qib_restart_rc() calls qib_send_complete() with a IB_WC_RETRY_EXC_ERR on a
wqe that has already been completed in the past
The fix avoids starting the timer since another packet will never
arrive.
Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
________________________________
This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ewg/attachments/20110216/958ab417/attachment.html>
More information about the ewg
mailing list