From 9bb3cbb8b93681aad4ce37cbbd7c1c8adc8c7b91 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 15 Jan 2023 14:15:41 -0700 Subject: [PATCH] dm: Allow serial output during the relocation process Reset the serial flags so that the debug UART can be used (if enabled) in the small window where there is no serial device. This can avoid a hang in some cases. Signed-off-by: Simon Glass --- common/board_r.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/common/board_r.c b/common/board_r.c index c6c0c1ab1d..e45003353f 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -796,6 +796,15 @@ static init_fnc_t init_sequence_r[] = { void board_init_r(gd_t *new_gd, ulong dest_addr) { + /* + * The pre-relocation drivers may be using memory that has now gone + * away. Mark serial as unavailable - this will fall back to the debug + * UART if available. + * + * Do the same with log drivers since the memory may not be available. + */ + gd->flags &= ~(GD_FLG_SERIAL_READY | GD_FLG_LOG_READY); + /* * Set up the new global data pointer. So far only x86 does this * here. -- 2.39.5