[SCSI] qla2xxx: Reread firmware versions information after an ISP abort.
authorLalit Chandivade <lalit.chandivade@qlogic.com>
Tue, 13 Oct 2009 22:16:47 +0000 (15:16 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 4 Dec 2009 18:00:11 +0000 (12:00 -0600)
In some case, the MPI and PHY versions when retrieved after the
Execute-FW mailbox-command are incorrect (255.255.255.255).
Instead, query the information after the check for firmware ready
is done in the abort ISP path.

Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_init.c

index 9e3eaac255966af7a9ab75df816966e364048ce7..c2494ca6ba1c64990ccd86b4455fd239d37df59f 100644 (file)
@@ -3573,6 +3573,15 @@ qla2x00_abort_isp(scsi_qla_host_t *vha)
                        ha->isp_abort_cnt = 0;
                        clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags);
 
+                       if (IS_QLA81XX(ha))
+                               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 (ha->fce) {
                                ha->flags.fce_enabled = 1;
                                memset(ha->fce, 0,