diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2008-05-12 17:02:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-13 11:02:26 -0400 |
commit | 7fe3915a492503a9199af475a433b50258303806 (patch) | |
tree | b84c6171b0b4968c08ba8e1c3eff46ecd25c8a97 /drivers/video/console | |
parent | 9fb1f68d40d9dd99fdbf65349c9c6af760e19e6e (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')
-rw-r--r-- | drivers/video/console/fbcon.c | 10 |
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 | } |