bus/pci: fix generic driver pointer on probe error
authorGaetan Rivet <gaetan.rivet@6wind.com>
Sat, 15 Jul 2017 17:56:40 +0000 (19:56 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 19 Jul 2017 21:40:28 +0000 (00:40 +0300)
The field is set but never resetted on error.
This marks the device as being attached while it is not, and forbid
further attempts to hotplug it.

Fixes: 7917d5f5ea46 ("pci: initialize generic driver pointer")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
lib/librte_eal/common/eal_common_pci.c

index 45e697e..0a4062c 100644 (file)
@@ -245,6 +245,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
        ret = dr->probe(dr, dev);
        if (ret) {
                dev->driver = NULL;
+               dev->device.driver = NULL;
                if ((dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) &&
                        /* Don't unmap if device is unsupported and
                         * driver needs mapped resources.