[<prev] [next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0812091413200.30985@vixen.sonytel.be>
Date: Tue, 9 Dec 2008 14:15:33 +0100 (CET)
From: Geert Uytterhoeven <Geert.Uytterhoeven@...ycom.com>
To: Linux Frame Buffer Device Development
<linux-fbdev-devel@...ts.sourceforge.net>,
Linux Kernel Development <linux-kernel@...r.kernel.org>,
Debian GNU/Linux PPC <debian-powerpc@...ts.debian.org>
cc: Andrew Morton <akpm@...ux-foundation.org>
Subject: [PATCH] fbdev/logo: Check compatibility of main and extra logos
Subject: [PATCH] fbdev/logo: Check compatibility of main and extra logos
The code to draw penguin logos always uses some properties of the main logo.
This is incorrect if additional logos (CONFIG_FB_LOGO_EXTRA=y) have different
types than the main logo, which causes corrupted logo images.
http://bugzilla.kernel.org/show_bug.cgi?id=12181
Hence skip additional logos that are not compatible with the main logo.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@...ycom.com>
---
Technically, it's possible to draw multiple logos of different types on
truecolor displays, but this would complicate the (already quite complicated)
logo drawing code even more.
This patch fixes a problem with Debian's linux-image-2.6.26-1-powerpc64
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508173
drivers/video/fbmem.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -510,6 +510,10 @@ static int fb_prepare_extra_logos(struct
fb_logo_ex_num = 0;
for (i = 0; i < fb_logo_ex_num; i++) {
+ if (fb_logo_ex[i].logo->type != fb_logo.logo->type) {
+ fb_logo_ex[i].logo = NULL;
+ continue;
+ }
height += fb_logo_ex[i].logo->height;
if (height > yres) {
height -= fb_logo_ex[i].logo->height;
With kind regards,
Geert Uytterhoeven
Software Architect
Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@...ycom.com
Internet: http://www.sony-europe.com/
A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists