aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/console/fbcon.c
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2008-05-12 17:02:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-13 11:02:26 -0400
commit7fe3915a492503a9199af475a433b50258303806 (patch)
treeb84c6171b0b4968c08ba8e1c3eff46ecd25c8a97 /drivers/video/console/fbcon.c
parent9fb1f68d40d9dd99fdbf65349c9c6af760e19e6e (diff)
vt/fbcon: update scrl_erase_char after 256/512-glyph font switch
Addendum to commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b ("vt: fix background color on line feed"). vc->vc_scrl_erase_char was not updated when fbcon switches between 256- and 512-glyph fonts. Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/console/fbcon.c')
-rw-r--r--drivers/video/console/fbcon.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index ad31983b43eb..b9703c17b5e8 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -2507,6 +2507,9 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
2507 c = vc->vc_video_erase_char; 2507 c = vc->vc_video_erase_char;
2508 vc->vc_video_erase_char = 2508 vc->vc_video_erase_char =
2509 ((c & 0xfe00) >> 1) | (c & 0xff); 2509 ((c & 0xfe00) >> 1) | (c & 0xff);
2510 c = vc->vc_def_color;
2511 vc->vc_scrl_erase_char =
2512 ((c & 0xFE00) >> 1) | (c & 0xFF);
2510 vc->vc_attr >>= 1; 2513 vc->vc_attr >>= 1;
2511 } 2514 }
2512 } else if (!vc->vc_hi_font_mask && cnt == 512) { 2515 } else if (!vc->vc_hi_font_mask && cnt == 512) {
@@ -2537,9 +2540,14 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
2537 if (vc->vc_can_do_color) { 2540 if (vc->vc_can_do_color) {
2538 vc->vc_video_erase_char = 2541 vc->vc_video_erase_char =
2539 ((c & 0xff00) << 1) | (c & 0xff); 2542 ((c & 0xff00) << 1) | (c & 0xff);
2543 c = vc->vc_def_color;
2544 vc->vc_scrl_erase_char =
2545 ((c & 0xFF00) << 1) | (c & 0xFF);
2540 vc->vc_attr <<= 1; 2546 vc->vc_attr <<= 1;
2541 } else 2547 } else {
2542 vc->vc_video_erase_char = c & ~0x100; 2548 vc->vc_video_erase_char = c & ~0x100;
2549 vc->vc_scrl_erase_char = c & ~0x100;
2550 }
2543 } 2551 }
2544 2552
2545 } 2553 }