[SCSI] lpfc 8.3.45: Fixed driver error messages after firmware download
authorJames Smart <james.smart@emulex.com>
Thu, 20 Feb 2014 14:57:43 +0000 (09:57 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Sat, 15 Mar 2014 17:18:57 +0000 (10:18 -0700)
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_init.c

index f31a3682751215889d16ede9ba81f66fb31507ab..f622c88113447fd1b1252bb67f7c378e24f83b4a 100644 (file)
@@ -1469,7 +1469,8 @@ lpfc_handle_eratt_s3(struct lpfc_hba *phba)
  * for handling possible port resource change.
  **/
 static int
-lpfc_sli4_port_sta_fn_reset(struct lpfc_hba *phba, int mbx_action)
+lpfc_sli4_port_sta_fn_reset(struct lpfc_hba *phba, int mbx_action,
+                           bool en_rn_msg)
 {
        int rc;
        uint32_t intr_mode;
@@ -1481,9 +1482,10 @@ lpfc_sli4_port_sta_fn_reset(struct lpfc_hba *phba, int mbx_action)
        rc = lpfc_sli4_pdev_status_reg_wait(phba);
        if (!rc) {
                /* need reset: attempt for port recovery */
-               lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
-                               "2887 Reset Needed: Attempting Port "
-                               "Recovery...\n");
+               if (en_rn_msg)
+                       lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
+                                       "2887 Reset Needed: Attempting Port "
+                                       "Recovery...\n");
                lpfc_offline_prep(phba, mbx_action);
                lpfc_offline(phba);
                /* release interrupt for possible resource change */
@@ -1523,6 +1525,7 @@ lpfc_handle_eratt_s4(struct lpfc_hba *phba)
        uint32_t reg_err1, reg_err2;
        uint32_t uerrlo_reg, uemasklo_reg;
        uint32_t pci_rd_rc1, pci_rd_rc2;
+       bool en_rn_msg = true;
        int rc;
 
        /* If the pci channel is offline, ignore possible errors, since
@@ -1573,10 +1576,12 @@ lpfc_handle_eratt_s4(struct lpfc_hba *phba)
                        break;
                }
                if (reg_err1 == SLIPORT_ERR1_REG_ERR_CODE_2 &&
-                   reg_err2 == SLIPORT_ERR2_REG_FW_RESTART)
+                   reg_err2 == SLIPORT_ERR2_REG_FW_RESTART) {
                        lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
-                                       "3143 Port Down: Firmware Restarted\n");
-               else if (reg_err1 == SLIPORT_ERR1_REG_ERR_CODE_2 &&
+                                       "3143 Port Down: Firmware Update "
+                                       "Detected\n");
+                       en_rn_msg = false;
+               } else if (reg_err1 == SLIPORT_ERR1_REG_ERR_CODE_2 &&
                         reg_err2 == SLIPORT_ERR2_REG_FORCED_DUMP)
                        lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                                        "3144 Port Down: Debug Dump\n");
@@ -1586,7 +1591,8 @@ lpfc_handle_eratt_s4(struct lpfc_hba *phba)
                                        "3145 Port Down: Provisioning\n");
 
                /* Check port status register for function reset */
-               rc = lpfc_sli4_port_sta_fn_reset(phba, LPFC_MBX_NO_WAIT);
+               rc = lpfc_sli4_port_sta_fn_reset(phba, LPFC_MBX_NO_WAIT,
+                               en_rn_msg);
                if (rc == 0) {
                        /* don't report event on forced debug dump */
                        if (reg_err1 == SLIPORT_ERR1_REG_ERR_CODE_2 &&