All consoles found on for_each_console are registered, meaning that all of
them are CON_ENABLED. The code tries to find an active console, so check if the
console is not suspended instead.

Signed-off-by: Marcos Paulo de Souza <mpdeso...@suse.com>
---
 drivers/tty/serial/kgdboc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c
index 
85f6c5a76e0fff556f86f0d45ebc5aadf5b191e8..af6d2208b8ddb82d62f33292b006b2923583a0d2
 100644
--- a/drivers/tty/serial/kgdboc.c
+++ b/drivers/tty/serial/kgdboc.c
@@ -577,7 +577,8 @@ static int __init kgdboc_earlycon_init(char *opt)
        console_list_lock();
        for_each_console(con) {
                if (con->write && con->read &&
-                   (con->flags & (CON_BOOT | CON_ENABLED)) &&
+                   (con->flags & CON_BOOT) &&
+                   ((con->flags & CON_SUSPENDED) == 0) &&
                    (!opt || !opt[0] || strcmp(con->name, opt) == 0))
                        break;
        }

-- 
2.49.0


Reply via email to