diff options
author | Jamie Wellnitz <Jamie.Wellnitz@emulex.com> | 2006-02-28 19:25:28 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-02-28 20:01:51 -0500 |
commit | 5024ab179c13d763f95c8391f45f22309609f479 (patch) | |
tree | 7c22b094371c8831f8724d7a2e8580a3ed394c1f /drivers/scsi/lpfc/lpfc_hbadisc.c | |
parent | 41415862a23f422b80eccc92cf885935139e2415 (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.c | 13 |
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); |