]> git.baikalelectronics.ru Git - kernel.git/commit
vgacon: return the upper half of 512 character fonts
authorStefan Bader <stefan.bader@canonical.com>
Thu, 30 Apr 2009 22:08:44 +0000 (15:08 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 2 May 2009 22:36:10 +0000 (15:36 -0700)
commit084ec45721dd2a1a62d576c9b6e8c313c3d0c622
treea361d51f7fe880feccfcf365cfed1fe549970a8a
parenta50350b3e5f5f4e2d6316486b461f3316b9aafb4
vgacon: return the upper half of 512 character fonts

Uwe Geuder noted that he gets random bitmaps on a text console if he tried
to type extended characters (like the e acute).  For him everything above
unicode 0xa0 was corrupted.

After some digging there seems to be a little culprit in vgacon since the
beginning of ages (well git).  The function vgacon_font_get will store the
number of characters correctly in font->charcount but then calls to
vgacon_do_font_op(..., 0, 0).  Which means only the lower 256 characters
are actually stored to the fontdata.  The rest is left untouched.  So the
next time that saved data is used, the garbled font appears.  This happens
on every switch between text consoles.

Addresses https://bugs.launchpad.net/ubuntu/+source/linux/+bug/355057

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Tested-by: Uwe Geuder <ubuntuLp-ugeuder@sneakemail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/console/vgacon.c