2ae8547775
Reported by James Pearson as: boot to run level 3 if not root, then make sure /dev/console is writeable login and type: setterm -blank 0 start X type into an xterm: while true; do echo "" > /dev/console; usleep 100000; done while the above loop is running switch to the text console and back again (Ctrl-Alt-F1 then Ctrl-Alt-F7) ... and the screen will be shifting (and wrapping) to the left. This problem stems from continuously writing text to the system console (which is in KD_TEXT mode) while the foreground console is in KD_GRAPHICS mode. Somewhere along the way, console printing got confused and omitted the KD_GRAPHICS/KD_TEXT test. Thus, vgacon attempted to scroll the screen of X, which causes X to shift. Fix by disallowing vgacon to touch the hardware when the vc is in KD_GRAPHICS mode. A definitive fix entails a full audit of the console code. Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
bitblit.c | ||
dummycon.c | ||
fbcon.c | ||
fbcon.h | ||
fbcon_ccw.c | ||
fbcon_cw.c | ||
fbcon_rotate.c | ||
fbcon_rotate.h | ||
fbcon_ud.c | ||
font_6x11.c | ||
font_7x14.c | ||
font_8x8.c | ||
font_8x16.c | ||
font_10x18.c | ||
font_acorn_8x8.c | ||
font_mini_4x6.c | ||
font_pearl_8x8.c | ||
font_sun8x16.c | ||
font_sun12x22.c | ||
fonts.c | ||
mdacon.c | ||
newport_con.c | ||
prom.uni | ||
promcon.c | ||
softcursor.c | ||
sticon.c | ||
sticore.c | ||
tileblit.c | ||
vgacon.c |