[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