[dpdk-dev,v3,1/3] pci: If a driver's probe function fails, unmap resources.
Checks
Commit Message
If resources were mapped prior to probe, unmap them
if probe fails.
This does not handle the case where the kernel driver was
forcibly unbound prior to probe.
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
---
lib/librte_eal/common/eal_common_pci.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
@@ -210,8 +210,11 @@ rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *d
/* call the driver probe() function */
ret = dr->probe(dr, dev);
- if (ret)
+ if (ret) {
dev->driver = NULL;
+ if (dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING)
+ rte_eal_pci_unmap_device(dev);
+ }
return ret;
}