summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPozsar Balazs <pozsy@uhulinux.hu>2005-10-30 15:03:06 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 17:37:26 -0800
commit1a66ddcb770fbd20ce115910c7828cafdba099c1 (patch)
tree56a3598cacb359f03f81ebfde68ab25d054e53d2
parent2973dfdb877c17b36c27ba66d71028ff1eb2f32e (diff)
downloadlinux-stable-1a66ddcb770fbd20ce115910c7828cafdba099c1.tar.gz
linux-stable-1a66ddcb770fbd20ce115910c7828cafdba099c1.tar.bz2
linux-stable-1a66ddcb770fbd20ce115910c7828cafdba099c1.zip
[PATCH] fix vgacon blanking
This patch fixes a long-standing vgacon bug: characters with the bright bit set were left on the screen and not blacked out. All I did was that I lookuped up some examples on the net about setting the vga palette, and added the call missing from the linux kernel, but included in all other ones. It works for me. You can test this by writing something with the bright set to the console, for example: echo -e "\e[1;31mhello there\e[0m" and then wait for the console to blank itself (by default, after 10 mins of inactivity), maybe making it faster using setterm -blank 1 so you only have to wait 1 minute. Signed-off-by: Pozsar Balazs <pozsy@uhulinux.hu> Cc: James Simmons <jsimmons@infradead.org> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/video/console/vgacon.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index 809fee2140ac..56cd199605f4 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -579,6 +579,7 @@ static void vga_set_palette(struct vc_data *vc, unsigned char *table)
{
int i, j;
+ vga_w(state.vgabase, VGA_PEL_MSK, 0xff);
for (i = j = 0; i < 16; i++) {
vga_w(state.vgabase, VGA_PEL_IW, table[i]);
vga_w(state.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
@@ -721,6 +722,7 @@ static void vga_pal_blank(struct vgastate *state)
{
int i;
+ vga_w(state->vgabase, VGA_PEL_MSK, 0xff);
for (i = 0; i < 16; i++) {
vga_w(state->vgabase, VGA_PEL_IW, i);
vga_w(state->vgabase, VGA_PEL_D, 0);