diff options
author | John Ogness <john.ogness@linutronix.de> | 2022-11-16 17:21:50 +0100 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2022-12-02 11:25:02 +0100 |
commit | e2b39652283685edd7e84174b10736d79063d399 (patch) | |
tree | 9aab1458229e0c386227dd7341107047d9f6722a /drivers/tty | |
parent | tty: serial: kgdboc: synchronize tty_find_polling_driver() and register_conso... (diff) | |
download | linux-e2b39652283685edd7e84174b10736d79063d399.tar.xz linux-e2b39652283685edd7e84174b10736d79063d399.zip |
tty: serial: kgdboc: use console_list_lock to trap exit
kgdboc_earlycon_init() uses the console_lock to ensure that no consoles
are unregistered until the kgdboc_earlycon is setup. The console_list_lock
should be used instead because list synchronization responsibility will
be removed from the console_lock in a later change.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20221116162152.193147-39-john.ogness@linutronix.de
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/kgdboc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c index 8c2b7ccdfebf..a3ed9b34e2ab 100644 --- a/drivers/tty/serial/kgdboc.c +++ b/drivers/tty/serial/kgdboc.c @@ -558,13 +558,13 @@ static int __init kgdboc_earlycon_init(char *opt) */ /* - * Hold the console_lock to guarantee that no consoles are + * Hold the console_list_lock to guarantee that no consoles are * unregistered until the kgdboc_earlycon setup is complete. * Trapping the exit() callback relies on exit() not being * called until the trap is setup. This also allows safe * traversal of the console list and race-free reading of @flags. */ - console_lock(); + console_list_lock(); for_each_console(con) { if (con->write && con->read && (con->flags & (CON_BOOT | CON_ENABLED)) && @@ -606,7 +606,7 @@ static int __init kgdboc_earlycon_init(char *opt) } unlock: - console_unlock(); + console_list_unlock(); /* Non-zero means malformed option so we always return zero */ return 0; |