pci: fix igb_uio mapping for virtio_uio and vmxnet3_uio
authorDaniel Kan <dan@nyansa.com>
Wed, 12 Mar 2014 20:19:59 +0000 (13:19 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 21 Mar 2014 14:40:30 +0000 (15:40 +0100)
Since commit 10ed994 (pci: use igb_uio mapping only when needed),
the flag RTE_PCI_DRV_NEED_IGB_UIO must be set even if RTE_EAL_UNBIND_PORTS
is disabled.
It was not the case for virtio_uio and vmxnet3_uio so the uio resources were
not mapped when RTE_EAL_UNBIND_PORTS was not defined.
Specifically, pci_uio_map_resource() was not called so
pci_dev->mem_resource was not mapped.

Signed-off-by: Daniel Kan <dan@nyansa.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_pmd_virtio/virtio_ethdev.c
lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c

index 1cd921b..f107161 100644 (file)
@@ -474,9 +474,7 @@ static struct eth_driver rte_virtio_pmd = {
        {
                .name = "rte_virtio_pmd",
                .id_table = pci_id_virtio_map,
-#ifdef RTE_EAL_UNBIND_PORTS
                .drv_flags = RTE_PCI_DRV_NEED_IGB_UIO,
-#endif
        },
        .eth_dev_init = eth_virtio_dev_init,
        .dev_private_size = sizeof(struct virtio_adapter),
index 6757aa2..8259cfe 100644 (file)
@@ -267,9 +267,7 @@ static struct eth_driver rte_vmxnet3_pmd = {
        {
                .name = "rte_vmxnet3_pmd",
                .id_table = pci_id_vmxnet3_map,
-#ifdef RTE_EAL_UNBIND_PORTS
                .drv_flags = RTE_PCI_DRV_NEED_IGB_UIO,
-#endif
        },
        .eth_dev_init = eth_vmxnet3_dev_init,
        .dev_private_size = sizeof(struct vmxnet3_adapter),