dev->driver should be set only if a driver did take the device. Signed-off-by: David Marchand <david.marchand at 6wind.com> --- lib/librte_eal/common/eal_common_pci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index 971ad20..6163b09 100644 --- a/lib/librte_eal/common/eal_common_pci.c +++ b/lib/librte_eal/common/eal_common_pci.c @@ -214,7 +214,11 @@ rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *d dev->driver = dr; /* call the driver probe() function */ - return dr->probe(dr, dev); + ret = dr->probe(dr, dev); + if (ret) + dev->driver = NULL; + + return ret; } /* return positive value if driver doesn't support this device */ return 1; -- 2.7.4