From b6e8f00fcd56b426371334d722d1f3fb251b7290 Mon Sep 17 00:00:00 2001 From: izumi Date: Tue, 17 Jul 2007 04:05:49 -0700 Subject: Fix the graphic corruption issue on IA64 machines VGA console driver can misunderstand the current mode(Text/Graphic) under "disable console blanking" setting. When "disable console blank" is set (blankinterval=0), "do_unblank_screen()" function returns without changing "blank_state", and when "blank_state" is "blank_off", "do_blank_screen() function returns without invoking sw->con_blank() function. That's why VGA console driver can misunderstand the current mode. Signed-off-by: Nobuhiro Tachino Signed-off-by: Taku Izumi Cc: "Antonino A. Daplas" Cc: "Luck, Tony" Acked-by: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/char/vt.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/char/vt.c b/drivers/char/vt.c index 45b33cf9764..edb7002a321 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c @@ -3506,9 +3506,6 @@ void do_blank_screen(int entering_gfx) } return; } - if (blank_state != blank_normal_wait) - return; - blank_state = blank_off; /* entering graphics mode? */ if (entering_gfx) { @@ -3516,10 +3513,15 @@ void do_blank_screen(int entering_gfx) save_screen(vc); vc->vc_sw->con_blank(vc, -1, 1); console_blanked = fg_console + 1; + blank_state = blank_off; set_origin(vc); return; } + if (blank_state != blank_normal_wait) + return; + blank_state = blank_off; + /* don't blank graphics */ if (vc->vc_mode != KD_TEXT) { console_blanked = fg_console + 1; -- cgit v1.2.3