提交 afa9b649 编写于 作者: K Krzysztof Helt 提交者: Linus Torvalds

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: NKrzysztof Helt <krzysztof.h1@wp.pl>
Reported-by: NPeter Hanzel <hanzelpeter@gmail.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 ea757aca
...@@ -2518,7 +2518,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, ...@@ -2518,7 +2518,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
c = vc->vc_video_erase_char; c = vc->vc_video_erase_char;
vc->vc_video_erase_char = vc->vc_video_erase_char =
((c & 0xfe00) >> 1) | (c & 0xff); ((c & 0xfe00) >> 1) | (c & 0xff);
c = vc->vc_def_color; c = vc->vc_scrl_erase_char;
vc->vc_scrl_erase_char = vc->vc_scrl_erase_char =
((c & 0xFE00) >> 1) | (c & 0xFF); ((c & 0xFE00) >> 1) | (c & 0xFF);
vc->vc_attr >>= 1; vc->vc_attr >>= 1;
...@@ -2551,7 +2551,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, ...@@ -2551,7 +2551,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
if (vc->vc_can_do_color) { if (vc->vc_can_do_color) {
vc->vc_video_erase_char = vc->vc_video_erase_char =
((c & 0xff00) << 1) | (c & 0xff); ((c & 0xff00) << 1) | (c & 0xff);
c = vc->vc_def_color; c = vc->vc_scrl_erase_char;
vc->vc_scrl_erase_char = vc->vc_scrl_erase_char =
((c & 0xFF00) << 1) | (c & 0xFF); ((c & 0xFF00) << 1) | (c & 0xFF);
vc->vc_attr <<= 1; vc->vc_attr <<= 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册