Skip to content

Commit

Permalink
Fix the graphic corruption issue on IA64 machines
Browse files Browse the repository at this point in the history
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 <ntachino@redhat.com>
Signed-off-by: Taku Izumi <izumi2005@soft.fujitsu.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Acked-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
izumi authored and Linus Torvalds committed Jul 17, 2007
1 parent 1a3f288 commit b6e8f00
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions drivers/char/vt.c
Original file line number Diff line number Diff line change
Expand Up @@ -3506,20 +3506,22 @@ 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) {
hide_cursor(vc);
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;
Expand Down

0 comments on commit b6e8f00

Please sign in to comment.