]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
scsi: qla2xxx: Add longer window for chip reset
authorQuinn Tran <quinn.tran@cavium.com>
Thu, 2 Aug 2018 20:16:46 +0000 (13:16 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 2 Aug 2018 20:56:18 +0000 (16:56 -0400)
qla2x00_reset_active only covers the window of turning the chip off. Add
check to cover turning chip on.

Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_dbg.c
drivers/scsi/qla2xxx/qla_tmpl.c

index 5fd44c50bbac240a86182ae8a3a928dace3f67f4..c7533fa7f46ebb93a8795238a6790b961a48113d 100644 (file)
@@ -1130,6 +1130,7 @@ qla24xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)
                    ha->fw_dump);
                goto qla24xx_fw_dump_failed;
        }
+       QLA_FW_STOPPED(ha);
        fw = &ha->fw_dump->isp.isp24;
        qla2xxx_prep_dump(ha, ha->fw_dump);
 
@@ -1384,6 +1385,7 @@ qla25xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)
                    ha->fw_dump);
                goto qla25xx_fw_dump_failed;
        }
+       QLA_FW_STOPPED(ha);
        fw = &ha->fw_dump->isp.isp25;
        qla2xxx_prep_dump(ha, ha->fw_dump);
        ha->fw_dump->version = htonl(2);
@@ -2036,6 +2038,7 @@ qla83xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)
                    "request...\n", ha->fw_dump);
                goto qla83xx_fw_dump_failed;
        }
+       QLA_FW_STOPPED(ha);
        fw = &ha->fw_dump->isp.isp83;
        qla2xxx_prep_dump(ha, ha->fw_dump);
 
index 731ca0d8520a7c357cb4b4ae30a4e57cd9137edc..b170eb54aab51549839840f5bb3571571a32363b 100644 (file)
@@ -1028,8 +1028,10 @@ qla27xx_fwdump(scsi_qla_host_t *vha, int hardware_locked)
                ql_log(ql_log_warn, vha, 0xd300,
                    "Firmware has been previously dumped (%p),"
                    " -- ignoring request\n", vha->hw->fw_dump);
-       else
+       else {
+               QLA_FW_STOPPED(vha->hw);
                qla27xx_execute_fwdt_template(vha);
+       }
 
 #ifndef __CHECKER__
        if (!hardware_locked)