If virtio fails to detect modern device, use_misx should be reset
to VIRTIO_MSIX_NONE, otherwise this wrong value will be used after
legacy device detection succeeds to be done.

Fixes: fe19d49cb525 ("net/virtio: fix Rx interrupt with VFIO")
Cc: sta...@dpdk.org
Signed-off-by: Zhiyong Yang <zhiyong.y...@intel.com>
---
 drivers/net/virtio/virtio_pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9574498fb..5582238fd 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -695,6 +695,7 @@ vtpci_init(struct rte_pci_device *dev, struct virtio_hw *hw)
                return 0;
        }
 
+       hw->use_msix = VIRTIO_MSIX_NONE;
        PMD_INIT_LOG(INFO, "trying with legacy virtio pci.");
        if (rte_pci_ioport_map(dev, 0, VTPCI_IO(hw)) < 0) {
                if (dev->kdrv == RTE_KDRV_UNKNOWN &&
-- 
2.13.3

Reply via email to