[dpdk-dev] [PATCH] eal: bus scan and probe never fail
Hemant Agrawal
hemant.agrawal at nxp.com
Mon Sep 18 13:36:15 CEST 2017
Tested-by: Hemant Agrawal <hemant.agrawal at 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.jain at 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;
>
More information about the dev
mailing list