From: izumi Date: Tue, 17 Jul 2007 11:05:49 +0000 (-0700) Subject: Fix the graphic corruption issue on IA64 machines X-Git-Tag: v2.6.23-rc1~559 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6e8f00fcd56b426371334d722d1f3fb251b7290;p=linux-2.6 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 --- diff --git a/drivers/char/vt.c b/drivers/char/vt.c index 45b33cf976..edb7002a32 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;