[PATCH RFC 43/77] lpfc: Return -ENOSPC when not enough MSI-X vectors available

Alexander Gordeev
2013-10-02T10:48:59Z

drivers/scsi/lpfc/lpfc_init.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index d83a1a3..0ec8008 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -8645,9 +8645,13 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba)
goto msg_fail_out;

vectors = min(vectors, rc);
- if (vectors > 1)
- rc = pci_enable_msix(phba->pcidev, phba->sli4_hba.msix_entries,
- vectors);
+ if (vectors < 2) {
+ rc = -ENOSPC;
+ goto msg_fail_out;
+ }
+
+ 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,
--
1.7.7.6