pci: probe only devices without any driver
authorBen Walker <benjamin.walker@intel.com>
Tue, 25 Oct 2016 21:50:40 +0000 (14:50 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 6 Nov 2016 21:58:08 +0000 (22:58 +0100)
If the user asks to probe multiple times, the probe
callback should only be called on devices that don't have
a driver already loaded.

This is useful if a driver is registered after the
execution of a program has started and the list of devices
needs to be re-scanned.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
lib/librte_eal/common/eal_common_pci.c

index 638cd86..971ad20 100644 (file)
@@ -289,6 +289,10 @@ pci_probe_all_drivers(struct rte_pci_device *dev)
        if (dev == NULL)
                return -1;
 
+       /* Check if a driver is already loaded */
+       if (dev->driver != NULL)
+               return 0;
+
        TAILQ_FOREACH(dr, &pci_driver_list, next) {
                rc = rte_eal_pci_probe_one_driver(dr, dev);
                if (rc < 0)