Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e10b2022 authored by James Smart's avatar James Smart Committed by James Bottomley
Browse files

[SCSI] lpfc 8.3.45: Fixed driver error messages after firmware download

parent f9226c20
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -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,6 +1482,7 @@ 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 */
		if (en_rn_msg)
			lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
					"2887 Reset Needed: Attempting Port "
					"Recovery...\n");
@@ -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 &&