Hey, this is probably my own mistake, but since I can't figure out what it is, I'll ask here... I'm trying to get my driver to work under 2.5.65. For this, I use the Makefile that you can see at [1], running under 2.5.65. The BTTV module from the kernel works. However, when loading and subsequentially trying to use my own module (xawtv), I get a kernel oops: - Unable to handle kernel paging request at virtual address d08d7ee0 printing eip: d08b50ce *pde = 013fa067 *pte = 00000000 Oops: 0000 CPU: 0 EIP: 0060:[<d08b50ce>] Not tainted EFLAGS: 00010282 EIP is at video_open+0xae/0x210 [videodev] eax: d08d7ee0 ebx: d093dca0 ecx: d08b71a0 edx: cf74b8c0 esi: d08b71e0 edi: 00000004 ebp: d08b7340 esp: c974fef4 ds: 007b es: 007b ss: 0068 Process v4l-conf (pid: 1061, threadinfo=c974e000 task=ca43d290) Stack: 00000000 c974ff3c c974fe30 c974ff04 00000000 00000000 ce192005 00008003 00000004 c974e000 cd4b7b60 cf74b8c0 00000000 c0150108 cf74b8c0 cd4b7b60 00000001 cd4b7b60 cf74b8c0 cf74b954 c014782b cf74b8c0 cd4b7b60 c0148311 Call Trace: [<c0150108>] chrdev_open+0x58/0x90 [<c014782b>] dentry_open+0xfb/0x1e0 [<c0148311>] vfs_read+0xc1/0x150 [<c014771d>] filp_open+0x4d/0x60 [<c01537de>] getname+0x5e/0xa0 [<c0147b35>] sys_open+0x35/0x70 [<c010a86f>] syscall_call+0x7/0xb Code: 8b 10 bf 01 00 00 00 85 d2 74 30 b8 00 e0 ff ff 21 e0 ff 40 - Funny, because it's inside videodev.o. Debugging this oops (ksymoops) even gives more useful (ahem) info: - >>EIP; d08b50ce <__crc_ide_spin_wait_hwgroup+1d6c31/4f885f> <===== Code; d08b50ce <__crc_ide_spin_wait_hwgroup+1d6c31/4f885f> 00000000 <_EIP>: Code; d08b50ce <__crc_ide_spin_wait_hwgroup+1d6c31/4f885f> <===== 0: 8b 10 mov (%eax),%edx <===== Code; d08b50d0 <__crc_ide_spin_wait_hwgroup+1d6c33/4f885f> 2: bf 01 00 00 00 mov $0x1,%edi Code; d08b50d5 <__crc_ide_spin_wait_hwgroup+1d6c38/4f885f> 7: 85 d2 test %edx,%edx Code; d08b50d7 <__crc_ide_spin_wait_hwgroup+1d6c3a/4f885f> 9: 74 30 je 3b <_EIP+0x3b> d08b5109 <__crc_ide_spin_wait_hwgroup+1d6c6c/4f885f> Code; d08b50d9 <__crc_ide_spin_wait_hwgroup+1d6c3c/4f885f> b: b8 00 e0 ff ff mov $0xffffe000,%eax Code; d08b50de <__crc_ide_spin_wait_hwgroup+1d6c41/4f885f> 10: 21 e0 and %esp,%eax Code; d08b50e0 <__crc_ide_spin_wait_hwgroup+1d6c43/4f885f> 12: ff 40 00 incl 0x0(%eax) - No clue what that means. Obviously, all this works under 2.4.20 and it uses the new videodev2 subsystem (file_ops-based). If I leave some random warning in /usr/src/linux-2.5.65/include/linux/videodev2.h, I can see the warning in the compiler output which means that the correct videodev header files are being used to compiler both kernel and module, so it's not an ABI mismatch issue, afaics. In short: help! Why does this crash? Ronald [1] http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mjpeg/driver-zoran/Makefile?rev=1.3.2.6&content-type=text/vnd.viewcvs-markup -- Ronald Bultje <rbultje@xxxxxxxxxxxxxxxxxxx>