Re: 2.6.13-mm2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manuel Lauss wrote:
> Hello,
> 
> Andrew Morton wrote:
> 
>> +i810fb-add-i2c-ddc-support.patch
>> +i810fb-add-i2c-ddc-support-fix.patch
>> +i810fb-add-i2c-ddc-support-fix-fix.patch
>> +i810fb-add-i2c-ddc-support-Makefile-fix.patch
> 
> compiled with CONFIG_FB_I810_I2C = n and CONFIG_FB_I810 = y
> it oopses at boot in file drivers/video/i810/i810_main.c:1884
> 
> ...
> Kernel command line: root=/dev/hda7
> video=i810fb:xres:1024,yres:768,bpp:8,hsync1:40,hsync2:80,vsync1:60,vsync2:60,extvga,vram:4,accel,mtrr
> 
> ...
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000054
>  printing eip:
> c02543c0
> *pde = 00000000
> Oops: 0000 [#1]
> last sysfs file:
> Modules linked in:
> CPU:    0
> EIP:    0060:[<c02543c0>]    Not tainted VLI
> EFLAGS: 00010286   (2.6.13-mm2)
> EIP is at i810fb_find_init_mode+0x53/0x93
> eax: c113ddd4   ebx: c1194000   ecx: c04be2dd   edx: c1194000
> esi: c1194008   edi: c113ddd4   ebp: c1194240   esp: c113ddcc
> ds: 007b   es: 007b   ss: 0068
> Process swapper (pid: 1, threadinfo=c113c000 task=c7cd6a30)
> Stack: 00000000 00000008 00000400 00000300 00000000 00001000 00000000
> 00000000
>        00000008 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000
>        00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000
> Call Trace:
>  [<c01ecb01>] fb_alloc_cmap+0x8d/0xa0
>  [<c025491b>] i810fb_init_pci+0x10a/0x23c
>  [<c026dd9e>] __driver_attach+0x0/0x33
>  [<c01e1198>] pci_call_probe+0xa/0xc
>  [<c01e11c8>] __pci_device_probe+0x2e/0x3f
>  [<c01e11f7>] pci_device_probe+0x1e/0x30
>  [<c026dcfb>] driver_probe_device+0x31/0x82
>  [<c026ddc1>] __driver_attach+0x23/0x33
>  [<c026d60f>] bus_for_each_dev+0x35/0x59
>  [<c026dde2>] driver_attach+0x11/0x13
>  [<c026dd9e>] __driver_attach+0x0/0x33
>  [<c026d993>] bus_add_driver+0x52/0x92
>  [<c026e0a2>] driver_register+0x2f/0x34
>  [<c01e1394>] pci_register_driver+0x64/0x74
>  [<c0254b51>] i810fb_init+0x2f/0x36
>  [<c049a676>] do_initcalls+0x49/0x8e
>  [<c0100269>] init+0x0/0x107
>  [<c010028b>] init+0x22/0x107
>  [<c0101281>] kernel_thread_helper+0x5/0xb
> Code: 02 00 00 f3 ab 8d 73 08 b9 a0 00 00 00 89 f2 89 e0 89 e7 e8 5f 8a
> f8 ff 8b 0d 78 8e 4f c0 85 c9 74 1d ff 73 20 89 da 89 f8 6a 00 <ff> 35
> 54 00 00 00 ff 35 20 00 00 00 e8 37
>  <0>Kernel panic - not syncing: Attempted to kill init!
> 
> 
> A few debug printks suggest the pointer "specs" is NULL.
> 

Ah, yes, sorry about that.  Can you try this patch?

Fix kernel oops when CONFIG_FB_I810_I2C is set to 'n'.

Signed-off-by: Antonino Daplas <[email protected]>

diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c
--- a/drivers/video/i810/i810_main.c
+++ b/drivers/video/i810/i810_main.c
@@ -1830,7 +1830,7 @@ static void __devinit i810fb_find_init_m
 {
 	struct fb_videomode mode;
 	struct fb_var_screeninfo var;
-	struct fb_monspecs *specs = NULL;
+	struct fb_monspecs *specs = &info->monspecs;
 	int found = 0;
 #ifdef CONFIG_FB_I810_I2C
 	int i;
@@ -1853,12 +1853,11 @@ static void __devinit i810fb_find_init_m
 	if (!err)
 		printk("i810fb_init_pci: DDC probe successful\n");
 
-	fb_edid_to_monspecs(par->edid, &info->monspecs);
+	fb_edid_to_monspecs(par->edid, specs);
 
-	if (info->monspecs.modedb == NULL)
+	if (specs->modedb == NULL)
 		printk("i810fb_init_pci: Unable to get Mode Database\n");
 
-	specs = &info->monspecs;
 	fb_videomode_to_modelist(specs->modedb, specs->modedb_len,
 				 &info->modelist);
 	if (specs->modedb != NULL) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux