mirror of https://github.com/torvalds/linux.git
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 | ||