diff options
author | John Ogness | 2022-11-16 17:27:18 +0106 |
---|---|---|
committer | Petr Mladek | 2022-12-02 11:24:59 +0100 |
commit | a42427609368d773c4ab6b4c9686577817a4d219 (patch) | |
tree | 9fc2f95f0bf8762fdd39a4380847e22688c5d86f /drivers/tty | |
parent | b80ea0e81b3954e4c519e0c257b095e77cf94d86 (diff) |
printk: fix setting first seq for consoles
It used to be that all consoles were synchronized with respect to
which message they were printing. After commit a699449bb13b ("printk:
refactor and rework printing logic"), all consoles have their own
@seq for tracking which message they are on. That commit also changed
how the initial sequence number was chosen. Instead of choosing the
next non-printed message, it chose the sequence number of the next
message that will be added to the ringbuffer.
That change created a possibility that a non-boot console taking over
for a boot console might skip messages if the boot console was behind
and did not have a chance to catch up before being unregistered.
Since it is not known which boot console is the same device, flush
all consoles and, if necessary, start with the message of the enabled
boot console that is the furthest behind. If no boot consoles are
enabled, begin with the next message that will be added to the
ringbuffer.
Also, since boot consoles are meant to be used at boot time, handle
them the same as CON_PRINTBUFFER to ensure that no initial messages
are skipped.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20221116162152.193147-7-john.ogness@linutronix.de
Diffstat (limited to 'drivers/tty')
0 files changed, 0 insertions, 0 deletions