Check if kernel returns 0 interrupt vectors and try another interrupt
type in that case. Failing to check the vector count can select an
interrupt type that's unusable.
Signed-off-by: Pekka Riikonen <priik...@iki.fi>
---
drivers/bus/pci/linux/pci_vfio.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/bus/pci/linux/pci_vfio.c
b/drivers/bus/pci/linux/pci_vfio.c
index 5317170231..02e7d7e40b 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -237,6 +237,10 @@ pci_vfio_setup_interrupts(struct rte_pci_device
*dev, int vfio_dev_fd)
continue;
}
+ /* If no vectors, try another one */
+ if (irq.count == 0)
+ continue;
+
/* Reallocate the efds and elist fields of intr_handle
based
* on PCI device MSIX size.
*/
--
2.34.1