qla2xxx: Allow the next firmware dump if the previous dump capture fails for ISP8044.
Signed-off-by: Giridhar Malavali <giridhar.malvali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
2c5bbbb25f
commit
edaa5c7417
|
@ -3141,6 +3141,7 @@ struct qla_hw_data {
|
|||
uint32_t fw_dump_len;
|
||||
int fw_dumped;
|
||||
int fw_dump_reading;
|
||||
int prev_minidump_failed;
|
||||
dma_addr_t eft_dma;
|
||||
void *eft;
|
||||
/* Current size of mctp dump is 0x086064 bytes */
|
||||
|
|
|
@ -3142,18 +3142,18 @@ qla82xx_check_md_needed(scsi_qla_host_t *vha)
|
|||
|
||||
if (ql2xmdenable) {
|
||||
if (!ha->fw_dumped) {
|
||||
if (fw_major_version != ha->fw_major_version ||
|
||||
if ((fw_major_version != ha->fw_major_version ||
|
||||
fw_minor_version != ha->fw_minor_version ||
|
||||
fw_subminor_version != ha->fw_subminor_version) {
|
||||
fw_subminor_version != ha->fw_subminor_version) ||
|
||||
(ha->prev_minidump_failed)) {
|
||||
ql_dbg(ql_dbg_p3p, vha, 0xb02d,
|
||||
"Firmware version differs "
|
||||
"Previous version: %d:%d:%d - "
|
||||
"New version: %d:%d:%d\n",
|
||||
"Firmware version differs Previous version: %d:%d:%d - New version: %d:%d:%d, prev_minidump_failed: %d.\n",
|
||||
fw_major_version, fw_minor_version,
|
||||
fw_subminor_version,
|
||||
ha->fw_major_version,
|
||||
ha->fw_minor_version,
|
||||
ha->fw_subminor_version);
|
||||
ha->fw_subminor_version,
|
||||
ha->prev_minidump_failed);
|
||||
/* Release MiniDump resources */
|
||||
qla82xx_md_free(vha);
|
||||
/* ALlocate MiniDump resources */
|
||||
|
|
|
@ -3125,6 +3125,7 @@ skip_nxt_entry:
|
|||
"Dump data mismatch: Data collected: "
|
||||
"[0x%x], total_data_size:[0x%x]\n",
|
||||
data_collected, ha->md_dump_size);
|
||||
rval = QLA_FUNCTION_FAILED;
|
||||
goto md_failed;
|
||||
}
|
||||
|
||||
|
@ -3149,10 +3150,12 @@ qla8044_get_minidump(struct scsi_qla_host *vha)
|
|||
|
||||
if (!qla8044_collect_md_data(vha)) {
|
||||
ha->fw_dumped = 1;
|
||||
ha->prev_minidump_failed = 0;
|
||||
} else {
|
||||
ql_log(ql_log_fatal, vha, 0xb0db,
|
||||
"%s: Unable to collect minidump\n",
|
||||
__func__);
|
||||
ha->prev_minidump_failed = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2885,6 +2885,7 @@ skip_dpc:
|
|||
|
||||
base_vha->flags.init_done = 1;
|
||||
base_vha->flags.online = 1;
|
||||
ha->prev_minidump_failed = 0;
|
||||
|
||||
ql_dbg(ql_dbg_init, base_vha, 0x00f2,
|
||||
"Init done and hba is online.\n");
|
||||
|
|
Loading…
Reference in New Issue