Loading drivers/scsi/qla2xxx/qla_gbl.h +1 −0 Original line number Diff line number Diff line Loading @@ -574,6 +574,7 @@ extern int qla82xx_mbx_intr_enable(scsi_qla_host_t *); extern int qla82xx_mbx_intr_disable(scsi_qla_host_t *); extern void qla82xx_start_iocbs(srb_t *); extern int qla82xx_fcoe_ctx_reset(scsi_qla_host_t *); extern int qla82xx_check_md_needed(scsi_qla_host_t *); extern void qla82xx_chip_reset_cleanup(scsi_qla_host_t *); extern int qla82xx_mbx_beacon_ctl(scsi_qla_host_t *, int); extern char *qdev_state(uint32_t); Loading drivers/scsi/qla2xxx/qla_init.c +14 −12 Original line number Diff line number Diff line Loading @@ -1480,13 +1480,19 @@ qla2x00_setup_chip(scsi_qla_host_t *vha) if (rval == QLA_SUCCESS) { enable_82xx_npiv: fw_major_version = ha->fw_major_version; if (IS_QLA82XX(ha)) qla82xx_check_md_needed(vha); else { rval = qla2x00_get_fw_version(vha, &ha->fw_major_version, &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, ha->phy_version); } if (rval != QLA_SUCCESS) goto failed; ha->flags.npiv_supported = 0; Loading Loading @@ -5441,11 +5447,7 @@ qla82xx_restart_isp(scsi_qla_host_t *vha) clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags); /* Update the firmware version */ qla2x00_get_fw_version(vha, &ha->fw_major_version, &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, ha->phy_version); status = qla82xx_check_md_needed(vha); if (ha->fce) { ha->flags.fce_enabled = 1; Loading drivers/scsi/qla2xxx/qla_nx.c +41 −33 Original line number Diff line number Diff line Loading @@ -3619,45 +3619,53 @@ qla82xx_need_reset_handler(scsi_qla_host_t *vha) } } static void int qla82xx_check_md_needed(scsi_qla_host_t *vha) { struct qla_hw_data *ha = vha->hw; uint16_t fw_major_version, fw_minor_version, fw_subminor_version; uint16_t fw_attributes; uint32_t fw_memory_size, mpi_capabilities; uint8_t mpi_version[3], phy_version[3]; int rval = QLA_SUCCESS; if (!ha->fw_dumped) { qla2x00_get_fw_version(vha, &fw_major_version, &fw_minor_version, &fw_subminor_version, &fw_attributes, &fw_memory_size, mpi_version, &mpi_capabilities, phy_version); fw_major_version = ha->fw_major_version; fw_minor_version = ha->fw_minor_version; fw_subminor_version = ha->fw_subminor_version; rval = qla2x00_get_fw_version(vha, &ha->fw_major_version, &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, ha->phy_version); if (rval != QLA_SUCCESS) return rval; if (ql2xmdenable) { if (!ha->fw_dumped) { if (fw_major_version != ha->fw_major_version || fw_minor_version != ha->fw_minor_version || fw_subminor_version != ha->fw_subminor_version) { ql_log(ql_log_info, vha, 0xb02d, "Firmware version differs " "Previous version: %d:%d:%d - " "New version: %d:%d:%d\n", ha->fw_major_version, ha->fw_minor_version, ha->fw_subminor_version, ha->fw_minor_version, ha->fw_subminor_version, fw_major_version, fw_minor_version, fw_subminor_version); /* Release MiniDump resources */ qla82xx_md_free(vha); /* ALlocate MiniDump resources */ qla82xx_md_prep(vha); } } else ql_log(ql_log_info, vha, 0xb02e, "Firmware dump available to retrieve\n", vha->host_no); } } return rval; } int Loading Loading
drivers/scsi/qla2xxx/qla_gbl.h +1 −0 Original line number Diff line number Diff line Loading @@ -574,6 +574,7 @@ extern int qla82xx_mbx_intr_enable(scsi_qla_host_t *); extern int qla82xx_mbx_intr_disable(scsi_qla_host_t *); extern void qla82xx_start_iocbs(srb_t *); extern int qla82xx_fcoe_ctx_reset(scsi_qla_host_t *); extern int qla82xx_check_md_needed(scsi_qla_host_t *); extern void qla82xx_chip_reset_cleanup(scsi_qla_host_t *); extern int qla82xx_mbx_beacon_ctl(scsi_qla_host_t *, int); extern char *qdev_state(uint32_t); Loading
drivers/scsi/qla2xxx/qla_init.c +14 −12 Original line number Diff line number Diff line Loading @@ -1480,13 +1480,19 @@ qla2x00_setup_chip(scsi_qla_host_t *vha) if (rval == QLA_SUCCESS) { enable_82xx_npiv: fw_major_version = ha->fw_major_version; if (IS_QLA82XX(ha)) qla82xx_check_md_needed(vha); else { rval = qla2x00_get_fw_version(vha, &ha->fw_major_version, &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, ha->phy_version); } if (rval != QLA_SUCCESS) goto failed; ha->flags.npiv_supported = 0; Loading Loading @@ -5441,11 +5447,7 @@ qla82xx_restart_isp(scsi_qla_host_t *vha) clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags); /* Update the firmware version */ qla2x00_get_fw_version(vha, &ha->fw_major_version, &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, ha->phy_version); status = qla82xx_check_md_needed(vha); if (ha->fce) { ha->flags.fce_enabled = 1; Loading
drivers/scsi/qla2xxx/qla_nx.c +41 −33 Original line number Diff line number Diff line Loading @@ -3619,45 +3619,53 @@ qla82xx_need_reset_handler(scsi_qla_host_t *vha) } } static void int qla82xx_check_md_needed(scsi_qla_host_t *vha) { struct qla_hw_data *ha = vha->hw; uint16_t fw_major_version, fw_minor_version, fw_subminor_version; uint16_t fw_attributes; uint32_t fw_memory_size, mpi_capabilities; uint8_t mpi_version[3], phy_version[3]; int rval = QLA_SUCCESS; if (!ha->fw_dumped) { qla2x00_get_fw_version(vha, &fw_major_version, &fw_minor_version, &fw_subminor_version, &fw_attributes, &fw_memory_size, mpi_version, &mpi_capabilities, phy_version); fw_major_version = ha->fw_major_version; fw_minor_version = ha->fw_minor_version; fw_subminor_version = ha->fw_subminor_version; rval = qla2x00_get_fw_version(vha, &ha->fw_major_version, &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size, ha->mpi_version, &ha->mpi_capabilities, ha->phy_version); if (rval != QLA_SUCCESS) return rval; if (ql2xmdenable) { if (!ha->fw_dumped) { if (fw_major_version != ha->fw_major_version || fw_minor_version != ha->fw_minor_version || fw_subminor_version != ha->fw_subminor_version) { ql_log(ql_log_info, vha, 0xb02d, "Firmware version differs " "Previous version: %d:%d:%d - " "New version: %d:%d:%d\n", ha->fw_major_version, ha->fw_minor_version, ha->fw_subminor_version, ha->fw_minor_version, ha->fw_subminor_version, fw_major_version, fw_minor_version, fw_subminor_version); /* Release MiniDump resources */ qla82xx_md_free(vha); /* ALlocate MiniDump resources */ qla82xx_md_prep(vha); } } else ql_log(ql_log_info, vha, 0xb02e, "Firmware dump available to retrieve\n", vha->host_no); } } return rval; } int Loading