[BUG] silent hangup when debugging lib/fdtdec.c
Tom Rini
trini at konsulko.com
Tue Nov 25 17:35:24 CET 2025
On Tue, Nov 25, 2025 at 05:14:12PM +0100, Alexander Feilke wrote:
> From: Alexander Feilke <alexander.feilke at ew.tq-group.com>
>
> Description: U-Boot hangs silently during boot when enabling DEBUG in
> lib/fdtdec.c
>
> Not sure if its really a bug or rather a configuration issue on my side.
>
> Minimal steps to reproduce: <see patch>
>
> The hang is caused by `panic("FDT overlap");` later inside the if block.
> (see `lib/fdtdec.c:1279` in `fdt_find_separate(void)`)
>
> Additionally, no boot log can be seen because serial is initialized after
> loading the devicetree in this boot stage (see `common/board_r.c:665` in
> `initcall_run_r(void)`)
>
> Tested on i.MX6 with configs for tqma6d_mba6 and other tq boards that aren't,
> mainlined yet (tqma6ulx_mba6ul and tqma7d_mba7).
>
> Any idea what to look for to fix this on our side?
>
> Thanks in advance,
> Alexander
> ---
> lib/fdtdec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index c38738b48c7..0f2f7c948cd 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -1257,7 +1257,7 @@ static void *fdt_find_separate(void)
> /* FDT is at end of image */
> fdt_blob = (ulong *)_end;
>
> - if (_DEBUG && !fdtdec_prepare_fdt(fdt_blob)) {
> + if (1 && !fdtdec_prepare_fdt(fdt_blob)) {
> int stack_ptr;
> const void *top = fdt_blob + fdt_totalsize(fdt_blob);
>
For very early failures you might need to look at enabling DEBUG_UART
which wires in a more direct "just write this to serial port".
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20251125/9e9cd482/attachment.sig>
More information about the U-Boot
mailing list