diff options
author | Ravi Anand <ravi.anand@qlogic.com> | 2006-05-17 15:08:44 -0700 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-05-20 09:40:21 -0500 |
commit | 57680080baf3a8e289fad7f9e3c43ed58309e1eb (patch) | |
tree | 6c94db89570d765cdbbc86b453a005c70b98082d /drivers/scsi/qla2xxx | |
parent | e0ecae8da26d94dd878ff1d939c5aa4224df18a4 (diff) | |
download | lwn-57680080baf3a8e289fad7f9e3c43ed58309e1eb.tar.gz lwn-57680080baf3a8e289fad7f9e3c43ed58309e1eb.zip |
[SCSI] qla2xxx: Don't wait for loop transition to complete if LOOP_DEAD state is attained.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 017729c59a49..fbf3b03aba6b 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -577,6 +577,10 @@ qla2x00_wait_for_loop_ready(scsi_qla_host_t *ha) while ((!atomic_read(&ha->loop_down_timer) && atomic_read(&ha->loop_state) == LOOP_DOWN) || atomic_read(&ha->loop_state) != LOOP_READY) { + if (atomic_read(&ha->loop_state) == LOOP_DEAD) { + return_status = QLA_FUNCTION_FAILED; + break; + } msleep(1000); if (time_after_eq(jiffies, loop_timeout)) { return_status = QLA_FUNCTION_FAILED; |