• John Gregor's avatar
    IB/ipath: Fix SDMA error recovery in absence of link status change · ab69b3cf
    John Gregor authored
    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: default avatarJohn Gregor <john.gregor@qlogic.com>
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    ab69b3cf
ipath_driver.c 81.1 KB