[PATCH 1/1] serial-uclass: set GD_FLG_SERIAL_READY only when cur_serial_dev is assigned

Maxim Kochetkov fido_max at inbox.ru
Wed Aug 13 07:54:32 CEST 2025


serial_find_console_or_panic() may left cur_serial_dev unassigned if
REQUIRE_SERIAL_CONSOLE is not set. Setting GD_FLG_SERIAL_READY in
this situation confuses serial console code. It tries to use
unassigned driver instead of debug port and stops printing.
So check cur_serial_dev before setting GD_FLG_SERIAL_READY to allow
console to keep printing via debug port.

Signed-off-by: Maxim Kochetkov <fido_max at inbox.ru>
---
 drivers/serial/serial-uclass.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index a08678dde4e..7b381ca12a0 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -191,7 +191,8 @@ int serial_init(void)
 {
 #if CONFIG_IS_ENABLED(SERIAL_PRESENT)
 	serial_find_console_or_panic();
-	gd->flags |= GD_FLG_SERIAL_READY;
+	if (gd->cur_serial_dev)
+		gd->flags |= GD_FLG_SERIAL_READY;
 
 	if (IS_ENABLED(CONFIG_OF_SERIAL_BAUD)) {
 		int ret = 0;
-- 
2.50.0



More information about the U-Boot mailing list