vmw_vmci: handle the return value from pci_alloc_irq_vectors correctly

It returns the number of vectors allocated when successful, so check for
a negative error only.

Fixes: 3bb434cd ("vmw_vmci: switch to pci_irq_alloc_vectors")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Loïc Yhuel <loic.yhuel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Christoph Hellwig 2017-03-03 07:58:06 -07:00 committed by Greg Kroah-Hartman
parent 9a69645dde
commit c3423563c6

View File

@ -566,10 +566,10 @@ static int vmci_guest_probe_device(struct pci_dev *pdev,
*/ */
error = pci_alloc_irq_vectors(pdev, VMCI_MAX_INTRS, VMCI_MAX_INTRS, error = pci_alloc_irq_vectors(pdev, VMCI_MAX_INTRS, VMCI_MAX_INTRS,
PCI_IRQ_MSIX); PCI_IRQ_MSIX);
if (error) { if (error < 0) {
error = pci_alloc_irq_vectors(pdev, 1, 1, error = pci_alloc_irq_vectors(pdev, 1, 1,
PCI_IRQ_MSIX | PCI_IRQ_MSI | PCI_IRQ_LEGACY); PCI_IRQ_MSIX | PCI_IRQ_MSI | PCI_IRQ_LEGACY);
if (error) if (error < 0)
goto err_remove_bitmap; goto err_remove_bitmap;
} else { } else {
vmci_dev->exclusive_vectors = true; vmci_dev->exclusive_vectors = true;