From 6ad425356bba9664393b579d81df8135ca1510e6 Mon Sep 17 00:00:00 2001 From: Jamie Wellnitz Date: Tue, 28 Feb 2006 19:25:16 -0500 Subject: [SCSI] lpfc 8.1.2: Fixed a race condition in the PLOGI retry logic. Fixed a race condition in the PLOGI retry logic. Signed-off-by: Jamie Wellnitz Signed-off-by: James Bottomley --- drivers/scsi/lpfc/lpfc_nportdisc.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'drivers/scsi/lpfc/lpfc_nportdisc.c') diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c index fbead786031f..1c04ea353ffa 100644 --- a/drivers/scsi/lpfc/lpfc_nportdisc.c +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c @@ -1627,6 +1627,14 @@ lpfc_device_recov_npr_node(struct lpfc_hba * phba, { spin_lock_irq(phba->host->host_lock); ndlp->nlp_flag &= ~NLP_NPR_2B_DISC; + if (ndlp->nlp_flag & NLP_DELAY_TMO) { + ndlp->nlp_flag &= ~NLP_DELAY_TMO; + if (!list_empty(&ndlp->els_retry_evt.evt_listp)) + list_del_init(&ndlp->els_retry_evt.evt_listp); + spin_unlock_irq(phba->host->host_lock); + del_timer_sync(&ndlp->nlp_delayfunc); + return (ndlp->nlp_state); + } spin_unlock_irq(phba->host->host_lock); return (ndlp->nlp_state); } -- cgit v1.2.1