Hi, I'm (still) developing a driver for a dvb-device, I'm making some progress, but I'm currently stuck at a null-pointer in dvb_device_open. The (relevant) dmesg-output:
[ 484.858908] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000[ 484.858917] printing eip:[ 484.858919] f8cd360a[ 484.858921] *pde = 00000000[ 484.858924] Oops: 0000 [#1][ 484.858925] SMP [ 484.858928] Modules linked in: dvb_driver dvb_core ipv6 af_packet rfcomm l2cap bluetooth ppdev cpufreq_ondemand cpufreq_stats cpufreq_powersave cpufreq_userspace freq_table cpufreq_conservative sbs button ac container dock video battery sbp2 lp snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore parport_pc parport pcspkr snd_page_alloc shpchp pci_hotplug i2c_nforce2 i2c_core nvidia_agp agpgart dv1394 evdev ext3 jbd mbcache sg sd_mod ide_cd cdrom usbhid hid amd74xx ide_core sata_sil ohci1394 ieee1394 ata_generic libata scsi_mod forcedeth ehci_hcd ohci_hcd usbcore thermal processor fan fuse apparmor commoncap[ 484.858978] CPU: 0[ 484.858979] EIP: 0060:[<f8cd360a>] Not tainted VLI[ 484.858981] EFLAGS: 00010293 (2.6.22-14-generic #1)[ 484.858999] EIP is at dvb_device_open+0x3a/0x120 [dvb_core][ 484.859002] eax: eafcfc04 ebx: 76697264 ecx: f8ce6600 edx: 00000003[ 484.859006] esi: 00000000 edi: eafcfc0c ebp: eafcfc00 esp: ea123ec0[ 484.859009] ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068[ 484.859012] Process scan (pid: 5981, ti=ea122000 task=ea766f90 task.ti=ea122000)[ 484.859015] Stack: ec9ae960 eb2aa8d0 00000003 f8cd35d0 f8ce65a0 00000000 eb2aa8d0 c0183466 [ 484.859021] ec9ae960 00000003 ec9ae960 eb2aa8d0 00000000 c01833c0 c017ec48 dff5ac00 [ 484.859028] e9a2c440 ec9ae960 ffffff9c ea123f30 00000003 c017ee05 ec9ae960 00000000 [ 484.859034] Call Trace:[ 484.859038] [<f8cd35d0>] dvb_device_open+0x0/0x120 [dvb_core][ 484.859048] [<c0183466>] chrdev_open+0xa6/0x190[ 484.859058] [<c01833c0>] chrdev_open+0x0/0x190[ 484.859062] [<c017ec48>] __dentry_open+0xb8/0x1c0[ 484.859073] [<c017ee05>] nameidata_to_filp+0x35/0x40[ 484.859079] [<c017ee60>] do_filp_open+0x50/0x60[ 484.859085] [<c02f20ea>] schedule+0x2ca/0x890[ 484.859099] [<c017eebe>] do_sys_open+0x4e/0xf0[ 484.859105] [<c01813b1>] sys_write+0x41/0x70[ 484.859110] [<c017ef9c>] sys_open+0x1c/0x20[ 484.859114] [<c01041d2>] sysenter_past_esp+0x6b/0xa9[ 484.859128] =======================[ 484.859129] Code: 50 34 a1 6c 66 ce f8 81 e2 ff ff 0f 00 89 54 24 08 eb 02 89 d8 8b 18 0f 18 03 90 3d 6c 66 ce f8 74 35 8d 68 fc 8b 75 0c 8d 78 08 <8b> 0e 0f 18 01 90 39 fe 74 de 8b 46 14 8b 55 00 c1 e0 04 0b 46 [ 484.859154] EIP: [<f8cd360a>] dvb_device_open+0x3a/0x120 [dvb_core] SS:ESP 0068:ea123ec0 Since dvb_device_open is a function of the dvb_core, I'm guessing the function is ok and there's something wrong with my part of the code. But, as far as I can see, I never explicitly call or register the function, so there's probably something wrong with the initialisation. I don't really see what can go wrong, so if any of you guys can give me some hints/tips to what I should pay extra attention, this is really appreciated. Greetings, Ben
_______________________________________________ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb