diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2008-08-12 18:08:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-12 19:07:29 -0400 |
commit | afa9b649aa699297258dbb67aaae651c9ad4245f (patch) | |
tree | 6e5215a417bce365dd2d799e17f39d39d99a8075 /drivers/video/console/fbcon.c | |
parent | ea757acad5a5183c65a3e1b28b49a5978fe6a052 (diff) |
fbcon: prevent cursor disappearance after switching to 512 character font
Adjust and honor the vc_scrl_erase_char for 256 and 512 character fonts.
It fixes the issue with disappearing cursor during scrolling
(http://bugzilla.kernel.org/show_bug.cgi?id=11258). The issue was
reported and tracked by Peter Hanzel.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reported-by: Peter Hanzel <hanzelpeter@gmail.com>
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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 33859934a8e4..c6299e8a041d 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c | |||
@@ -2518,7 +2518,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, | |||
2518 | c = vc->vc_video_erase_char; | 2518 | c = vc->vc_video_erase_char; |
2519 | vc->vc_video_erase_char = | 2519 | vc->vc_video_erase_char = |
2520 | ((c & 0xfe00) >> 1) | (c & 0xff); | 2520 | ((c & 0xfe00) >> 1) | (c & 0xff); |
2521 | c = vc->vc_def_color; | 2521 | c = vc->vc_scrl_erase_char; |
2522 | vc->vc_scrl_erase_char = | 2522 | vc->vc_scrl_erase_char = |
2523 | ((c & 0xFE00) >> 1) | (c & 0xFF); | 2523 | ((c & 0xFE00) >> 1) | (c & 0xFF); |
2524 | vc->vc_attr >>= 1; | 2524 | vc->vc_attr >>= 1; |
@@ -2551,7 +2551,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, | |||
2551 | if (vc->vc_can_do_color) { | 2551 | if (vc->vc_can_do_color) { |
2552 | vc->vc_video_erase_char = | 2552 | vc->vc_video_erase_char = |
2553 | ((c & 0xff00) << 1) | (c & 0xff); | 2553 | ((c & 0xff00) << 1) | (c & 0xff); |
2554 | c = vc->vc_def_color; | 2554 | c = vc->vc_scrl_erase_char; |
2555 | vc->vc_scrl_erase_char = | 2555 | vc->vc_scrl_erase_char = |
2556 | ((c & 0xFF00) << 1) | (c & 0xFF); | 2556 | ((c & 0xFF00) << 1) | (c & 0xFF); |
2557 | vc->vc_attr <<= 1; | 2557 | vc->vc_attr <<= 1; |