Hi Raymond,

On 3/28/25 00:13, Raymond Mao wrote:
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 <[email protected]>

Reviewed-by: Caleb Connolly <[email protected]>
---
  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();

--
Caleb (they/them)

Reply via email to