[PATCH RFC 44/77] lpfc: Make MSI-X initialization routine more readable

Alexander Gordeev
2013-10-02T10:49:00Z

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