scsi: fnic: fix msix interrupt allocation
authorGovindarajulu Varadarajan <gvaradar@cisco.com>
Tue, 27 Aug 2019 21:13:40 +0000 (14:13 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 7 Sep 2019 19:29:12 +0000 (15:29 -0400)
pci_alloc_irq_vectors() returns number of vectors allocated.  Fix the check
for error condition.

Fixes: cca678dfbad49 ("scsi: fnic: switch to pci_alloc_irq_vectors")
Link: https://lore.kernel.org/r/20190827211340.1095-1-gvaradar@cisco.com
Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Acked-by: Satish Kharat <satishkh@cisco.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/fnic/fnic_isr.c

index da4602b..2fb2731 100644 (file)
@@ -254,7 +254,7 @@ int fnic_set_intr_mode(struct fnic *fnic)
                int vecs = n + m + o + 1;
 
                if (pci_alloc_irq_vectors(fnic->pdev, vecs, vecs,
-                               PCI_IRQ_MSIX) < 0) {
+                               PCI_IRQ_MSIX) == vecs) {
                        fnic->rq_count = n;
                        fnic->raw_wq_count = m;
                        fnic->wq_copy_count = o;
@@ -280,7 +280,7 @@ int fnic_set_intr_mode(struct fnic *fnic)
            fnic->wq_copy_count >= 1 &&
            fnic->cq_count >= 3 &&
            fnic->intr_count >= 1 &&
-           pci_alloc_irq_vectors(fnic->pdev, 1, 1, PCI_IRQ_MSI) < 0) {
+           pci_alloc_irq_vectors(fnic->pdev, 1, 1, PCI_IRQ_MSI) == 1) {
                fnic->rq_count = 1;
                fnic->raw_wq_count = 1;
                fnic->wq_copy_count = 1;