[SCSI] qla2xxx: Perform ROM mbx cmd access only after ISP soft-reset during f/w recovery.

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>
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 414f810..117338d 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -4301,17 +4301,17 @@
 	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);