diff options
| author | Maxim Kochetkov <[email protected]> | 2025-08-13 08:54:32 +0300 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-08-21 10:02:43 -0600 |
| commit | e4507f4a0a7ac3b5346934df19c2daed626cc404 (patch) | |
| tree | 279624de94358c4b7c6dd24c248af70b460f3d8e | |
| parent | 2b751d42c35c36f7e3739d7bc7064f014e1263c7 (diff) | |
serial-uclass: set GD_FLG_SERIAL_READY only when cur_serial_dev is assigned
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 <[email protected]>
| -rw-r--r-- | drivers/serial/serial-uclass.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |
