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

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

[SCSI] lpfc 8.1.12 : Fixed recovery of rport after race with dev_loss_tmo



Fixed recovery of rport after race with dev_loss_tmo

Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 7054a606
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -109,6 +109,9 @@ lpfc_dev_loss_tmo_callbk(struct fc_rport *rport)
		return;
	}

	if (ndlp->nlp_state == NLP_STE_MAPPED_NODE)
		return;

	name = (uint8_t *)&ndlp->nlp_portname;
	phba = ndlp->nlp_phba;

@@ -149,7 +152,8 @@ lpfc_dev_loss_tmo_callbk(struct fc_rport *rport)

	if (!(phba->fc_flag & FC_UNLOADING) &&
	    !(ndlp->nlp_flag & NLP_DELAY_TMO) &&
	    !(ndlp->nlp_flag & NLP_NPR_2B_DISC))
	    !(ndlp->nlp_flag & NLP_NPR_2B_DISC) &&
	    (ndlp->nlp_state != NLP_STE_UNMAPPED_NODE))
		lpfc_disc_state_machine(phba, ndlp, NULL, NLP_EVT_DEVICE_RM);
	else {
		rdata->pnode = NULL;
@@ -1326,8 +1330,6 @@ lpfc_nlp_state_cleanup(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
			 * already. If we have, and it's a scsi entity, be
			 * sure to unblock any attached scsi devices
			 */
		if (!ndlp->rport ||
		    ndlp->rport->port_state == FC_PORTSTATE_BLOCKED)
			lpfc_register_remote_port(phba, ndlp);
	}