Re: [PATCH v6 20/26] eal_pci: continue probing even on failures
From: Thomas Monjalon <hidden>
Date: 2017-03-08 22:04:03
2017-02-28 13:53, Aaron Conole:
+ int ret_1 = 0;
You do not need to add a new variable.
quoted hunk ↗ jump to hunk
int ret = 0; if (rte_eal_devargs_type_count(RTE_DEVTYPE_WHITELISTED_PCI) == 0)@@ -430,17 +432,20 @@ rte_eal_pci_probe(void) /* probe all or only whitelisted devices */ if (probe_all) - ret = pci_probe_all_drivers(dev); + ret_1 = pci_probe_all_drivers(dev); else if (devargs != NULL && devargs->type == RTE_DEVTYPE_WHITELISTED_PCI) - ret = pci_probe_all_drivers(dev); - if (ret < 0) - rte_exit(EXIT_FAILURE, "Requested device " PCI_PRI_FMT + ret_1 = pci_probe_all_drivers(dev); + if (ret_1 < 0) { + RTE_LOG(ERR, EAL, "Requested device " PCI_PRI_FMT " cannot be used\n", dev->addr.domain, dev->addr.bus, dev->addr.devid, dev->addr.function); + rte_errno = errno; + ret = 1; + } } - return 0; + return -ret;
It may be more explicit to use only one variable ret and filter the positive values: ret < 0 ? -1 : 0