diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 90ae354a9c45..4b1eb98c228d 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -3602,6 +3602,13 @@ lpfc_get_wwpn(struct lpfc_hba *phba) | |||
3602 | LPFC_MBOXQ_t *mboxq; | 3602 | LPFC_MBOXQ_t *mboxq; |
3603 | MAILBOX_t *mb; | 3603 | MAILBOX_t *mb; |
3604 | 3604 | ||
3605 | if (phba->sli_rev < LPFC_SLI_REV4) { | ||
3606 | /* Reset the port first */ | ||
3607 | lpfc_sli_brdrestart(phba); | ||
3608 | rc = lpfc_sli_chipset_init(phba); | ||
3609 | if (rc) | ||
3610 | return (uint64_t)-1; | ||
3611 | } | ||
3605 | 3612 | ||
3606 | mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, | 3613 | mboxq = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, |
3607 | GFP_KERNEL); | 3614 | GFP_KERNEL); |
@@ -8847,7 +8854,7 @@ lpfc_sli4_queue_unset(struct lpfc_hba *phba) | |||
8847 | lpfc_wq_destroy(phba, phba->sli4_hba.nvmels_wq); | 8854 | lpfc_wq_destroy(phba, phba->sli4_hba.nvmels_wq); |
8848 | 8855 | ||
8849 | /* Unset ELS work queue */ | 8856 | /* Unset ELS work queue */ |
8850 | if (phba->sli4_hba.els_cq) | 8857 | if (phba->sli4_hba.els_wq) |
8851 | lpfc_wq_destroy(phba, phba->sli4_hba.els_wq); | 8858 | lpfc_wq_destroy(phba, phba->sli4_hba.els_wq); |
8852 | 8859 | ||
8853 | /* Unset unsolicited receive queue */ | 8860 | /* Unset unsolicited receive queue */ |