• Sawan Chandak's avatar
    scsi: qla2xxx: Do not call abort handler function during chip reset · d61cca60
    Sawan Chandak authored
    If there are IO's running and host reset or chip reset is triggered,
    IO's can fail due to rport time out. During chip reset recovery process,
    driver notifies the transport layer that remote port no longer exist, by
    calling fc_remote_port_delete(). When this function is called, it
    actually delays deletion by "blocking" it. It sets the remote port state
    to "FC_PORTSTATE_BLOCKED" and sets FC_RPORT_DEVLOSS_PENDING.  When
    driver tries to abort the command by calling its abort handler function,
    abort handler will wait until remote port state is blocked state or wait
    for dev_loss_tmo time. Due to this blocking, rport times out and results
    in an IO failure. This patch adds a check for any active reset process
    before calling abort handler function.
    
    [mkp: typo]
    Signed-off-by: default avatarSawan Chandak <sawan.chandak@cavium.com>
    Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    d61cca60
qla_os.c 182 KB