app/test: fix multi-process when device is bound to uio
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 11 Dec 2014 13:50:35 +0000 (13:50 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 17 Dec 2014 00:04:06 +0000 (01:04 +0100)
Since commit a155d4301 "support link bonding device initialization",
EAL probes drivers to the PCI devices in rte_eal_init,
then PCI resources are mapped if a device
is bound to igb_uio driver, for instance.
Therefore, test app probes all the devices and multiprocess unit test
tries to map resources twice in the secondary processes, and test fails,
caused by RTE_PCI_DRV_NEEDED_MAPPING flag in dummy pci driver my_driver2.

Test is fixed by setting the driver flags to 0.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test/test_pci.c

index 4f0169a..747d8b7 100644 (file)
@@ -64,11 +64,6 @@ static unsigned pci_dev_count;
 static int my_driver_init(struct rte_pci_driver *dr,
                          struct rte_pci_device *dev);
 
-/*
- * To test cases where RTE_PCI_DRV_NEED_MAPPING is set, and isn't set, two
- * drivers are created (one with IGB devices, the other with IXGBE devices).
- */
-
 /* IXGBE NICS */
 struct rte_pci_id my_driver_id[] = {
 
@@ -92,7 +87,7 @@ struct rte_pci_driver my_driver = {
        .name = "test_driver",
        .devinit = my_driver_init,
        .id_table = my_driver_id,
-       .drv_flags = RTE_PCI_DRV_NEED_MAPPING,
+       .drv_flags = 0,
 };
 
 struct rte_pci_driver my_driver2 = {