aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hbadisc.c
diff options
context:
space:
mode:
authorJamie Wellnitz <Jamie.Wellnitz@emulex.com>2006-02-28 19:25:28 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-02-28 20:01:51 -0500
commit5024ab179c13d763f95c8391f45f22309609f479 (patch)
tree7c22b094371c8831f8724d7a2e8580a3ed394c1f /drivers/scsi/lpfc/lpfc_hbadisc.c
parent41415862a23f422b80eccc92cf885935139e2415 (diff)
[SCSI] lpfc 8.1.2: Added support for FAN
Added support for FAN Signed-off-by: Jamie Wellnitz <Jamie.Wellnitz@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hbadisc.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_hbadisc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
index 55454923029d..710efec1221f 100644
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -309,14 +309,12 @@ lpfc_linkdown(struct lpfc_hba * phba)
309 LPFC_MBOXQ_t *mb; 309 LPFC_MBOXQ_t *mb;
310 int rc, i; 310 int rc, i;
311 311
312 if (phba->hba_state == LPFC_LINK_DOWN) {
313 return 0;
314 }
315
316 psli = &phba->sli; 312 psli = &phba->sli;
317
318 /* sysfs or selective reset may call this routine to clean up */ 313 /* sysfs or selective reset may call this routine to clean up */
319 if (phba->hba_state > LPFC_LINK_DOWN) { 314 if (phba->hba_state >= LPFC_LINK_DOWN) {
315 if (phba->hba_state == LPFC_LINK_DOWN)
316 return 0;
317
320 spin_lock_irq(phba->host->host_lock); 318 spin_lock_irq(phba->host->host_lock);
321 phba->hba_state = LPFC_LINK_DOWN; 319 phba->hba_state = LPFC_LINK_DOWN;
322 spin_unlock_irq(phba->host->host_lock); 320 spin_unlock_irq(phba->host->host_lock);
@@ -1172,6 +1170,7 @@ lpfc_nlp_list(struct lpfc_hba * phba, struct lpfc_nodelist * nlp, int list)
1172 spin_lock_irq(phba->host->host_lock); 1170 spin_lock_irq(phba->host->host_lock);
1173 nlp->nlp_flag &= ~NLP_DELAY_TMO; 1171 nlp->nlp_flag &= ~NLP_DELAY_TMO;
1174 spin_unlock_irq(phba->host->host_lock); 1172 spin_unlock_irq(phba->host->host_lock);
1173 nlp->nlp_last_elscmd = 0;
1175 del_timer_sync(&nlp->nlp_delayfunc); 1174 del_timer_sync(&nlp->nlp_delayfunc);
1176 if (!list_empty(&nlp->els_retry_evt.evt_listp)) 1175 if (!list_empty(&nlp->els_retry_evt.evt_listp))
1177 list_del_init(&nlp->els_retry_evt.evt_listp); 1176 list_del_init(&nlp->els_retry_evt.evt_listp);
@@ -1595,6 +1594,7 @@ lpfc_freenode(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp)
1595 spin_unlock_irq(phba->host->host_lock); 1594 spin_unlock_irq(phba->host->host_lock);
1596 del_timer_sync(&ndlp->nlp_tmofunc); 1595 del_timer_sync(&ndlp->nlp_tmofunc);
1597 1596
1597 ndlp->nlp_last_elscmd = 0;
1598 del_timer_sync(&ndlp->nlp_delayfunc); 1598 del_timer_sync(&ndlp->nlp_delayfunc);
1599 1599
1600 if (!list_empty(&ndlp->nodev_timeout_evt.evt_listp)) 1600 if (!list_empty(&ndlp->nodev_timeout_evt.evt_listp))
@@ -1630,6 +1630,7 @@ lpfc_nlp_remove(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp)
1630 spin_lock_irq(phba->host->host_lock); 1630 spin_lock_irq(phba->host->host_lock);
1631 ndlp->nlp_flag &= ~NLP_DELAY_TMO; 1631 ndlp->nlp_flag &= ~NLP_DELAY_TMO;
1632 spin_unlock_irq(phba->host->host_lock); 1632 spin_unlock_irq(phba->host->host_lock);
1633 ndlp->nlp_last_elscmd = 0;
1633 del_timer_sync(&ndlp->nlp_delayfunc); 1634 del_timer_sync(&ndlp->nlp_delayfunc);
1634 if (!list_empty(&ndlp->els_retry_evt.evt_listp)) 1635 if (!list_empty(&ndlp->els_retry_evt.evt_listp))
1635 list_del_init(&ndlp->els_retry_evt.evt_listp); 1636 list_del_init(&ndlp->els_retry_evt.evt_listp);