lkml.org 
[lkml]   [2008]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.6.26-rcX VC console scrolling regression

On Friday 2008-05-09 08:26, David Miller wrote:
>> My guess is that you see the effects of incomplete font table/position
>> switching, something along the lines a `cat /dev/urandom` would cause.
>> Using the very same kernel and boot params (vga=791 or anything to
>> switch it to fbcon), I cannot trigger the problem on opensuse.
>
>Jan, there is code in drivers/video/console/fbcon.c:fbcon_do_set_font()
>which makes changes to vc->vc_video_erase_char, maybe that code needs
>to update the new vc->vc_scrl_erase_char you added?
>
>It would be nice if you could audit the tree to see if any other cases
>have been missed like this as well.
>
Try this patch please.

---
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 ca2a543..774f803 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -2508,6 +2508,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) {
@@ -2538,9 +2541,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;
+ }
}

}
--
1.5.5.1


\
 
 \ /
  Last update: 2008-05-09 21:27    [W:0.044 / U:1.084 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site