[PATCH] of: overlay: fix overly strict check for symbols

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Sep 26 03:26:55 PDT 2022


On 26.09.22 11:06, Michael Riesch wrote:
> The recent patch "of: overlay: improve error handling in
> of_overlay_apply_tree" introduced overly strict checks for symbols
> in the root device tree and the overlay. However, it is legal for
> both to have no symbols. Fix the checks in order to implement the
> status quo.
> 
> Fixes: bc475fd88810 ("of: overlay: improve error handling in of_overlay_apply_tree")
> Signed-off-by: Michael Riesch <michael.riesch at wolfvision.net>


Reviewed-by: Ahmad Fatoum <a.fatoum at pengutronix.de>

FWIW, we do such fixups on the emulated Virt platforms. The device tree comes
from QEMU and lacks symbols, still barebox applies an overlay with state
and environment nodes on top of it.

Cheers,
Ahmad

> ---
>  drivers/of/overlay.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
> index 0fc440fdcf..9d112b67f1 100644
> --- a/drivers/of/overlay.c
> +++ b/drivers/of/overlay.c
> @@ -131,12 +131,12 @@ static int of_overlay_apply_symbols(struct device_node *root,
>  
>  	if (!overlay_symbols) {
>  		pr_debug("overlay doesn't have a __symbols__ node\n");
> -		return -EINVAL;
> +		return 0;
>  	}
>  
>  	if (!root_symbols) {
>  		pr_info("root doesn't have a __symbols__ node\n");
> -		return -EINVAL;
> +		return 0;
>  	}
>  
>  	list_for_each_entry(prop, &overlay_symbols->properties, list) {


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list