[SCSI] qla2xxx: Perform warm reset every 2 minutes if firmware load fails for ISPFX00.
authorArmen Baloyan <armen.baloyan@qlogic.com>
Tue, 27 Aug 2013 05:37:32 +0000 (01:37 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 3 Sep 2013 14:28:01 +0000 (07:28 -0700)
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com>
Acked-by: Srinivasa Rao <srinivasa.rao@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_mr.c

index 7136bf5d1c86263d33d51d103e996e540d78eee9..1aeb9e12c38baa9f82fc254bd566a93dfaf47158 100644 (file)
@@ -1606,6 +1606,14 @@ qlafx00_abort_isp(scsi_qla_host_t *vha)
 
                scsi_block_requests(vha->host);
                qlafx00_abort_isp_cleanup(vha);
+       } else {
+               scsi_block_requests(vha->host);
+               clear_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
+               vha->qla_stats.total_isp_aborts++;
+               ha->isp_ops->reset_chip(vha);
+               set_bit(FX00_RESET_RECOVERY, &vha->dpc_flags);
+               /* Clear the Interrupts */
+               QLAFX00_CLR_INTR_REG(ha, QLAFX00_HST_INT_STS_BITS);
        }
 
        ql_log(ql_log_info, vha, 0x0145,