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: Pete Zaitcev Signed-off-by: Taku Izumi --- drivers/char/vt.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) Index: linux-2.6.22/drivers/char/vt.c ============================================================================= --- linux-2.6.22.org/drivers/char/vt.c 2007-06-27 11:40:03.000000000 -0400 +++ linux-2.6.22/drivers/char/vt.c 2007-06-27 11:24:32.000000000 -0400 @@ -3491,9 +3491,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) { @@ -3501,10 +3498,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;