When a bloblist is valid and contains fdt, it explicitly means a previous boot stage is passing transfer list compliant with Firmware Handoff specification, thus the fdt from bloblist should not be overridden with the ones from board or env variables.
Fixes: 70fe23859437 ("fdt: Allow the devicetree to come from a bloblist") Signed-off-by: Raymond Mao <raymond....@linaro.org> Reviewed-by: Caleb Connolly <caleb.conno...@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodi...@linaro.org> Reviewed-by: Simon Glass <s...@chromium.org> --- Changes in v2: - None. lib/fdtdec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/fdtdec.c b/lib/fdtdec.c index f09c9926a7a..c38738b48c7 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1708,7 +1708,7 @@ int fdtdec_setup(void) gd->fdt_src = FDTSRC_BLOBLIST; log_debug("Devicetree is in bloblist at %p\n", gd->fdt_blob); - ret = 0; + goto setup_fdt; } else { log_debug("No FDT found in bloblist\n"); ret = -ENOENT; @@ -1752,6 +1752,7 @@ int fdtdec_setup(void) } } +setup_fdt: if (CONFIG_IS_ENABLED(MULTI_DTB_FIT)) setup_multi_dtb_fit(); -- 2.25.1