own driver crashes + patch
Hi all,
I'm writing a Framebuffer driver for an embedded system that contains an LCD display and and Toshiba T6963 controller.
I had the problem, that my driver crashed because the screensize (126x64) is lower than the boot-logo (80x80). And this parameter is not checked in fbcon.c
To see a Kernel with the virtual framebuffer crash, apply the patch vfb.diff and enable the Virtual Framebuffer in your configuration and kernel command line.
The workaround is shown in file fbcon-2.4.18.patch.
I'm not sure if that is the right place to check the boot-logo size. Perhaps somebody has a better idea.
Best regards
Yves Jaeger
vfb.c.new renamed from vfb.c +1 -1
@@ -62,7 +62,7 @@ static struct fb_var_screeninfo vfb_default = { /* 640x480, 8 bpp */ - 640, 480, 640, 480, 0, 0, 8, 0, + 128, 64, 128, 64, 0, 0, 1, 0, {0, 8, 0}, {0, 8, 0}, {0, 8, 0}, {0, 0, 0}, 0, 0, -1, -1, 0, 20000, 64, 64, 32, 32, 64, 2, 0, FB_VMODE_NONINTERLACED
drivers/video/fbcon.c +8 -2
@@ -754,8 +754,14 @@ }if (logo) { - logo_shown =-2 ; - conp->vc_top = logo_lines; +if (logo_lines > conp->vc_bottom) + { + logo_shown =-1 ; +printk (KERN_INFO "fbcon_startup: disable boot-logo (boot-logo bigger than screen).\n" ); + }else { + logo_shown =-2 ; + conp->vc_top = logo_lines; + } }if (con == fg_console && softback_buf) {