diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hbadisc.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 2b227b363ae3..e15120d21aaa 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -1152,13 +1152,9 @@ lpfc_nlp_list(struct lpfc_hba * phba, struct lpfc_nodelist * nlp, int list) | |||
1152 | /* Stop delay tmo if taking node off NPR list */ | 1152 | /* Stop delay tmo if taking node off NPR list */ |
1153 | if ((nlp->nlp_flag & NLP_DELAY_TMO) && | 1153 | if ((nlp->nlp_flag & NLP_DELAY_TMO) && |
1154 | (list != NLP_NPR_LIST)) { | 1154 | (list != NLP_NPR_LIST)) { |
1155 | nlp->nlp_flag &= ~NLP_DELAY_TMO; | ||
1156 | nlp->nlp_last_elscmd = 0; | ||
1157 | spin_unlock_irq(phba->host->host_lock); | 1155 | spin_unlock_irq(phba->host->host_lock); |
1158 | del_timer_sync(&nlp->nlp_delayfunc); | 1156 | lpfc_cancel_retry_delay_tmo(phba, nlp); |
1159 | spin_lock_irq(phba->host->host_lock); | 1157 | spin_lock_irq(phba->host->host_lock); |
1160 | if (!list_empty(&nlp->els_retry_evt.evt_listp)) | ||
1161 | list_del_init(&nlp->els_retry_evt.evt_listp); | ||
1162 | } | 1158 | } |
1163 | break; | 1159 | break; |
1164 | } | 1160 | } |
@@ -1598,13 +1594,7 @@ lpfc_nlp_remove(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp) | |||
1598 | 1594 | ||
1599 | 1595 | ||
1600 | if (ndlp->nlp_flag & NLP_DELAY_TMO) { | 1596 | if (ndlp->nlp_flag & NLP_DELAY_TMO) { |
1601 | spin_lock_irq(phba->host->host_lock); | 1597 | lpfc_cancel_retry_delay_tmo(phba, ndlp); |
1602 | ndlp->nlp_flag &= ~NLP_DELAY_TMO; | ||
1603 | spin_unlock_irq(phba->host->host_lock); | ||
1604 | ndlp->nlp_last_elscmd = 0; | ||
1605 | del_timer_sync(&ndlp->nlp_delayfunc); | ||
1606 | if (!list_empty(&ndlp->els_retry_evt.evt_listp)) | ||
1607 | list_del_init(&ndlp->els_retry_evt.evt_listp); | ||
1608 | } | 1598 | } |
1609 | 1599 | ||
1610 | if (ndlp->nlp_disc_refcnt) { | 1600 | if (ndlp->nlp_disc_refcnt) { |
@@ -1896,14 +1886,8 @@ lpfc_setup_disc_node(struct lpfc_hba * phba, uint32_t did) | |||
1896 | /* Since this node is marked for discovery, | 1886 | /* Since this node is marked for discovery, |
1897 | * delay timeout is not needed. | 1887 | * delay timeout is not needed. |
1898 | */ | 1888 | */ |
1899 | if (ndlp->nlp_flag & NLP_DELAY_TMO) { | 1889 | if (ndlp->nlp_flag & NLP_DELAY_TMO) |
1900 | ndlp->nlp_flag &= ~NLP_DELAY_TMO; | 1890 | lpfc_cancel_retry_delay_tmo(phba, ndlp); |
1901 | del_timer_sync(&ndlp->nlp_delayfunc); | ||
1902 | if (!list_empty(&ndlp->els_retry_evt. | ||
1903 | evt_listp)) | ||
1904 | list_del_init(&ndlp->els_retry_evt. | ||
1905 | evt_listp); | ||
1906 | } | ||
1907 | } else { | 1891 | } else { |
1908 | ndlp->nlp_flag &= ~NLP_NPR_2B_DISC; | 1892 | ndlp->nlp_flag &= ~NLP_NPR_2B_DISC; |
1909 | ndlp = NULL; | 1893 | ndlp = NULL; |