summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_els.c
diff options
context:
space:
mode:
authorJames Smart2006-03-07 21:04:06 +0100
committerJames Bottomley2006-03-12 15:56:38 +0100
commit1a169689c2152ea599c94d622204f7bf5b7dc09f (patch)
treee9a354d5970de009b8c1ec647e31835a0bf09423 /drivers/scsi/lpfc/lpfc_els.c
parent[SCSI] lpfc 8.1.4 : Fixed RSCN handling when a PLOGI is in retry (diff)
downloadkernel-qcow2-linux-1a169689c2152ea599c94d622204f7bf5b7dc09f.tar.gz
kernel-qcow2-linux-1a169689c2152ea599c94d622204f7bf5b7dc09f.tar.xz
kernel-qcow2-linux-1a169689c2152ea599c94d622204f7bf5b7dc09f.zip
[SCSI] lpfc 8.1.4 : Fixed a timer panic due to timer firing after freeing ndlp
Fixed a timer panic due to timer firing after freeing ndlp Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 6d12cd0c49ff..4813beaaca8f 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -1523,6 +1523,12 @@ lpfc_els_retry_delay_handler(struct lpfc_nodelist *ndlp)
ndlp->nlp_flag &= ~NLP_DELAY_TMO;
spin_unlock_irq(phba->host->host_lock);
+ /*
+ * If a discovery event readded nlp_delayfunc after timer
+ * firing and before processing the timer, cancel the
+ * nlp_delayfunc.
+ */
+ del_timer_sync(&ndlp->nlp_delayfunc);
retry = ndlp->nlp_retry;
switch (cmd) {