From: Andrew Vasquez Date: Fri, 23 Jun 2006 23:11:17 +0000 (-0700) Subject: [SCSI] qla2xxx: Correct 'loop-down' determination logic in qla2x00_fw_ready(). X-Git-Tag: v2.6.18-rc1~22^2^2~40 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d7abc77cc469ff41dde8eea606e1dab88d4ba86;p=linux-2.6 [SCSI] qla2xxx: Correct 'loop-down' determination logic in qla2x00_fw_ready(). As there is no point in failing the initialization process when firmware informs the host software that it could not transition beyond a CONFIG_WAIT nor WAIT_FOR_LOGIN state. Previous logic would mark such conditions as a general *failure* and subsequently tear-down the scsi-host during initialization. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 761dd1f7e3..c7ab66877f 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -1273,8 +1273,7 @@ qla2x00_fw_ready(scsi_qla_host_t *ha) rval = QLA_FUNCTION_FAILED; if (atomic_read(&ha->loop_down_timer) && - (fw_state >= FSTATE_LOSS_OF_SYNC || - fw_state == FSTATE_WAIT_AL_PA)) { + fw_state != FSTATE_READY) { /* Loop down. Timeout on min_wait for states * other than Wait for Login. */