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

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

[SCSI] lpfc 8.3.39: Fix driver issues with SCSI Host reset

parent a22e7db3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -674,6 +674,9 @@ lpfc_do_offline(struct lpfc_hba *phba, uint32_t type)
	int i;
	int rc;

	if (phba->pport->fc_flag & FC_OFFLINE_MODE)
		return 0;

	init_completion(&online_compl);
	rc = lpfc_workq_post_event(phba, &status, &online_compl,
			      LPFC_EVT_OFFLINE_PREP);
@@ -741,7 +744,8 @@ lpfc_selective_reset(struct lpfc_hba *phba)
	int status = 0;
	int rc;

	if (!phba->cfg_enable_hba_reset)
	if ((!phba->cfg_enable_hba_reset) ||
	    (phba->pport->fc_flag & FC_OFFLINE_MODE))
		return -EACCES;

	status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
@@ -895,6 +899,7 @@ lpfc_sli4_pdev_reg_request(struct lpfc_hba *phba, uint32_t opcode)
		pci_disable_sriov(pdev);
		phba->cfg_sriov_nr_virtfn = 0;
	}

	status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);

	if (status != 0)
+1 −1
Original line number Diff line number Diff line
@@ -621,7 +621,7 @@ struct lpfc_register {
#define lpfc_sliport_status_rdy_SHIFT	23
#define lpfc_sliport_status_rdy_MASK	0x1
#define lpfc_sliport_status_rdy_WORD	word0
#define MAX_IF_TYPE_2_RESETS	1000
#define MAX_IF_TYPE_2_RESETS		6

#define LPFC_CTL_PORT_CTL_OFFSET	0x408
#define lpfc_sliport_ctrl_end_SHIFT	30
+6 −1
Original line number Diff line number Diff line
@@ -7817,8 +7817,13 @@ lpfc_pci_function_reset(struct lpfc_hba *phba)

out:
	/* Catch the not-ready port failure after a port reset. */
	if (num_resets >= MAX_IF_TYPE_2_RESETS)
	if (num_resets >= MAX_IF_TYPE_2_RESETS) {
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
				"3317 HBA not functional: IP Reset Failed "
				"after (%d) retries, try: "
				"echo fw_reset > board_mode\n", num_resets);
		rc = -ENODEV;
	}

	return rc;
}