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:
parent
9a69645dde
commit
c3423563c6
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user