vt: make vt_console_print() compatible with the unicode screen buffer
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 9 Jan 2019 03:54:59 +0000 (22:54 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 Jan 2019 07:14:39 +0000 (08:14 +0100)
commit855f7e64169f4da6691b30b1357a2b070515634c
tree372ae273dcaca2cef703d48bc16fa32b5a961a2f
parent6f4f2a443d87e964ebdbb2543cbd7df285cd6080
vt: make vt_console_print() compatible with the unicode screen buffer

commit 6609cff65c5b184ab889880ef5d41189611ea05f upstream.

When kernel messages are printed to the console, they appear blank on
the unicode screen. This is because vt_console_print() is lacking a call
to vc_uniscr_putc(). However the later function assumes vc->vc_x is
always up to date when called, which is not the case here as
vt_console_print() uses it to mark the beginning of the display update.

This patch reworks (and simplifies) vt_console_print() so that vc->vc_x
is always valid and keeps the start of display update in a local variable
instead, which finally allows for adding the missing vc_uniscr_putc()
call.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Cc: stable@vger.kernel.org # v4.19+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/vt.c