diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2008-05-12 14:02:38 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-13 08:02:26 -0700 |
commit | 7fe3915a492503a9199af475a433b50258303806 (patch) | |
tree | b84c6171b0b4968c08ba8e1c3eff46ecd25c8a97 /drivers/video | |
parent | 9fb1f68d40d9dd99fdbf65349c9c6af760e19e6e (diff) | |
download | linux-stable-7fe3915a492503a9199af475a433b50258303806.tar.gz linux-stable-7fe3915a492503a9199af475a433b50258303806.tar.bz2 linux-stable-7fe3915a492503a9199af475a433b50258303806.zip |
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')
-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, c = vc->vc_video_erase_char; vc->vc_video_erase_char = ((c & 0xfe00) >> 1) | (c & 0xff); + c = vc->vc_def_color; + vc->vc_scrl_erase_char = + ((c & 0xFE00) >> 1) | (c & 0xFF); vc->vc_attr >>= 1; } } 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, if (vc->vc_can_do_color) { vc->vc_video_erase_char = ((c & 0xff00) << 1) | (c & 0xff); + c = vc->vc_def_color; + vc->vc_scrl_erase_char = + ((c & 0xFF00) << 1) | (c & 0xFF); vc->vc_attr <<= 1; - } else + } else { vc->vc_video_erase_char = c & ~0x100; + vc->vc_scrl_erase_char = c & ~0x100; + } } } |