summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaymond Mao <raymond.mao@linaro.org>2025-03-31 15:40:09 -0700
committerTom Rini <trini@konsulko.com>2025-04-28 10:13:19 -0600
commit57a36716cfc0fdac0658bd9317e28e28d4d29f68 (patch)
tree1d3f16f63ce04078b29dc599ea33e61980891e2c
parentc17f03a7e93dfbbe5d32f5738274187065d9493f (diff)
bloblist: fix the overriding of fdt from bloblist
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.mao@linaro.org> Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--lib/fdtdec.c3
1 files changed, 2 insertions, 1 deletions
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();