Commit b6e8f00f authored by izumi's avatar izumi Committed by Linus Torvalds
Browse files

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: default avatarNobuhiro Tachino <ntachino@redhat.com>
Signed-off-by: default avatarTaku Izumi <izumi2005@soft.fujitsu.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Acked-by: default avatarPete Zaitcev <zaitcev@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1a3f2881
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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;