[SCSI] qla2xxx: Perform ROM mbx cmd access only after ISP soft-reset during f/w recovery.
authorSantosh Vernekar <santosh.vernekar@qlogic.com>
Wed, 22 Aug 2012 18:21:13 +0000 (14:21 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 24 Sep 2012 08:10:49 +0000 (12:10 +0400)
Signed-off-by: Santosh Vernekar <santosh.vernekar@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_init.c

index 414f810726f083cd009f1e136ae66d6fdd1a74c9..117338da605385075d63794befa94798172a6878 100644 (file)
@@ -4301,17 +4301,17 @@ qla2x00_abort_isp(scsi_qla_host_t *vha)
        struct req_que *req = ha->req_q_map[0];
        unsigned long flags;
 
-       if (IS_QLA8031(ha)) {
-               ql_dbg(ql_dbg_p3p, vha, 0xb05c,
-                   "Clearing fcoe driver presence.\n");
-               if (qla83xx_clear_drv_presence(vha) != QLA_SUCCESS)
-                       ql_dbg(ql_dbg_p3p, vha, 0xb073,
-                           "Erro while clearing DRV-Presence.\n");
-       }
-
        if (vha->flags.online) {
                qla2x00_abort_isp_cleanup(vha);
 
+               if (IS_QLA8031(ha)) {
+                       ql_dbg(ql_dbg_p3p, vha, 0xb05c,
+                           "Clearing fcoe driver presence.\n");
+                       if (qla83xx_clear_drv_presence(vha) != QLA_SUCCESS)
+                               ql_dbg(ql_dbg_p3p, vha, 0xb073,
+                                   "Error while clearing DRV-Presence.\n");
+               }
+
                if (unlikely(pci_channel_offline(ha->pdev) &&
                    ha->flags.pci_channel_io_perm_failure)) {
                        clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags);