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 <[email protected]> Date: Wed Feb 16 09:47:41 2011 -0500 IB/qib: Prevent double completions after a timeout or RNR error From: Mike Marciniszyn <[email protected]> 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 <[email protected]> ________________________________ 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.
_______________________________________________ ewg mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
