IB/ipath: Fix SDMA error recovery in absence of link status change
What's fixed:
    in ipath_cancel_sends()
        We need to unconditionally set ABORTING.  So, swap the tests
        so the set_bit() isn't shadowed by the &&.
        If we've disarmed the piobufs, then we need to unconditionally
        set DISARMED.  So, move it out from the overly protective if
        at the bottom.
    in sdma_abort_task()
        Abort_task was written knowing that the SDMA engine would always
        be reset (and restarted) on error.  A recent change broke that
        fundamental assumption by taking the restart portion and making
        it conditional on a link status change.  But, SDMA can go boom
        without a link status change in some conditions.
Signed-off-by:  John Gregor <john.gregor@qlogic.com>
Signed-off-by:
John Gregor <john.gregor@qlogic.com>
Signed-off-by:  Roland Dreier <rolandd@cisco.com>
Roland Dreier <rolandd@cisco.com>
Loading
Please register or sign in to comment
