[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