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: 70fe238594
("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>
This commit is contained in:
@@ -1708,7 +1708,7 @@ int fdtdec_setup(void)
|
|||||||
gd->fdt_src = FDTSRC_BLOBLIST;
|
gd->fdt_src = FDTSRC_BLOBLIST;
|
||||||
log_debug("Devicetree is in bloblist at %p\n",
|
log_debug("Devicetree is in bloblist at %p\n",
|
||||||
gd->fdt_blob);
|
gd->fdt_blob);
|
||||||
ret = 0;
|
goto setup_fdt;
|
||||||
} else {
|
} else {
|
||||||
log_debug("No FDT found in bloblist\n");
|
log_debug("No FDT found in bloblist\n");
|
||||||
ret = -ENOENT;
|
ret = -ENOENT;
|
||||||
@@ -1752,6 +1752,7 @@ int fdtdec_setup(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setup_fdt:
|
||||||
if (CONFIG_IS_ENABLED(MULTI_DTB_FIT))
|
if (CONFIG_IS_ENABLED(MULTI_DTB_FIT))
|
||||||
setup_multi_dtb_fit();
|
setup_multi_dtb_fit();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user