Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> --- drivers/scsi/lpfc/lpfc_init.c | 23 +++++++++++------------ 1 files changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 0ec8008..0cfaf20 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -8633,10 +8633,6 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba) { int vectors, rc, index; - /* Set up MSI-X multi-message vectors */ - for (index = 0; index < phba->cfg_fcp_io_channel; index++) - phba->sli4_hba.msix_entries[index].entry = index; - /* Configure MSI-X capability structure */ vectors = phba->cfg_fcp_io_channel; @@ -8650,14 +8646,14 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba) goto msg_fail_out; } + /* Set up MSI-X multi-message vectors */ + for (index = 0; index < vectors; index++) + phba->sli4_hba.msix_entries[index].entry = index; + rc = pci_enable_msix(phba->pcidev, phba->sli4_hba.msix_entries, vectors); - if (rc) { -msg_fail_out: - lpfc_printf_log(phba, KERN_INFO, LOG_INIT, - "0484 PCI enable MSI-X failed (%d)\n", rc); - goto vec_fail_out; - } + if (rc) + goto msg_fail_out; /* Log MSI-X vector assignment */ for (index = 0; index < vectors; index++) @@ -8697,7 +8693,7 @@ msg_fail_out: } lpfc_sli4_set_affinity(phba, vectors); - return rc; + return 0; cfg_fail_out: /* free the irq already requested */ @@ -8710,8 +8706,11 @@ cfg_fail_out: /* Unconfigure MSI-X capability structure */ pci_disable_msix(phba->pcidev); + return rc; -vec_fail_out: +msg_fail_out: + lpfc_printf_log(phba, KERN_INFO, LOG_INIT, + "0484 PCI enable MSI-X failed (%d)\n", rc); return rc; } -- 1.7.7.6