Tested-by: Hemant Agrawal <hemant.agra...@nxp.com>
On 8/12/2017 3:52 PM, Shreyansh Jain wrote:
Bus scan is responsible for finding devices over *all* buses. Some of these buses might not be able to scan but that should not prevent other buses to be scanned. Same is the case for probing. It is possible that some devices which were scanned didn't have a specific driver. That should not prevent other buses from being probed. Signed-off-by: Shreyansh Jain <shreyansh.j...@nxp.com> --- Until now, this decision was left onto author of bus specific scan and probe function. But, that is incorrect. --- lib/librte_eal/common/eal_common_bus.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c index 08bec2d..58e1084 100644 --- a/lib/librte_eal/common/eal_common_bus.c +++ b/lib/librte_eal/common/eal_common_bus.c @@ -73,11 +73,9 @@ rte_bus_scan(void) TAILQ_FOREACH(bus, &rte_bus_list, next) { ret = bus->scan(); - if (ret) { + if (ret) RTE_LOG(ERR, EAL, "Scan for (%s) bus failed.\n", bus->name); - return ret; - } } return 0; @@ -97,20 +95,16 @@ rte_bus_probe(void) } ret = bus->probe(); - if (ret) { + if (ret) RTE_LOG(ERR, EAL, "Bus (%s) probe failed.\n", bus->name); - return ret; - } } if (vbus) { ret = vbus->probe(); - if (ret) { + if (ret) RTE_LOG(ERR, EAL, "Bus (%s) probe failed.\n", vbus->name); - return ret; - } } return 0;