On Mon, Sep 18, 2017 at 1:36 PM, Hemant Agrawal <hemant.agra...@nxp.com> wrote: > 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. >>
If scanning the bus fails this is signaling an error. In that case we might even want to unregister the bus. >> 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. Absolutely correct. >> >> 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; >> >