I'm using lirc_i2c (the lirc driver for Hauppauge remotes) on gentoo-sources 2.6.15 (x86/~x86 system). When I upgraded to lirc 0.8.0_pre1 (the only version in Portage that works on kernels 2.6.14 or 2.6.15) and rebooted, I got a kernel oops on trying to load the lirc modules: lirc_i2c: chip found @ 0x18 (Hauppauge IR) lirc_dev: lirc_register_plugin: sample_rate: 10 Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c02a9baa *pde = 00000000 Oops: 0000 [#1] Modules linked in: cx8800 cx88xx ir_common tuner tvaudio bttv video_buf btcx_risc tveeprom lirc_i2c lirc_dev sis900 CPU: 0 EIP: 0060:[<c02a9baa>] Not tainted VLI EFLAGS: 00010283 (2.6.15-gentoo) EIP is at vsnprintf+0x2a/0x550 eax: cf3b260f ebx: cf3b25a0 ecx: 00000000 edx: cf3b25a0 esi: cf3b2610 edi: cf3b2ba0 ebp: cf3b2623 esp: cec29cf8 ds: 007b es: 007b ss: 0068 Process modprobe (pid: 1599, threadinfo=cec28000 task=cf04e5c0) Stack: c04b9a2f cffef300 d09b4ea0 00000246 0000000f cffe7ec0 00000084 00000000 cf3b2ba0 c0146be5 00000084 cf3b25a0 fffffff4 cf3b2ba0 d09b4ea0 c0343aa5 cf3b2610 00000014 00000000 cec29d6c 00000000 cef95600 ceb244a0 d09b2485 Call Trace: [<c04b9a2f>] schedule+0x30f/0x5d0 [<c0146be5>] kzalloc+0x25/0x60 [<c0343aa5>] class_device_create+0x95/0xd0 [<d09b2485>] lirc_register_plugin+0x185/0x4e0 [lirc_dev] [<d09b7a5a>] ir_attach+0x11a/0x2a0 [lirc_i2c] [<d09b7d20>] ir_probe+0x100/0x350 [lirc_i2c] [<c03d90af>] i2c_add_driver+0x8f/0xc0 [<d09b7fbf>] init_module+0x3f/0x50 [lirc_i2c] [<c0135bda>] sys_init_module+0x12a/0x1c0 [<c010311f>] sysenter_past_esp+0x54/0x75 Code: 00 55 57 56 53 83 ec 2c 8b 44 24 44 85 c0 0f 88 ed 04 00 00 8b 74 24 40 8b 44 24 44 8d 6c 06 ff 89 f0 48 39 e8 77 42 8b 4c 24 48 <80> 39 00 74 24 90 0f b6 01 3c 25 74 40 39 ee 77 06 88 06 8b 4c Modprobe then exited with a segfault. The system carried on running, but coldplug got stuck, so I disabled the module and rebooted. (All this should hopefully be reproducible, by the way - I re-emerged lirc and tried again, and the exact same thing happened again). I was using lirc-0.7.3_pre1 (unofficial ebuild), and that worked fine for me with gentoo-sources 2.6.15 (and 2.6.14), so I'll be downgrading to that.
Apparently, lirc-0.7.3_pre1 causes this also: lirc_dev: IR Remote Control driver registered, at major 61 cx2388x v4l2 driver version 0.0.5 loaded lirc_i2c: chip found @ 0x18 (Hauppauge IR) lirc_dev: lirc_register_plugin: sample_rate: 10 Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c02a9baa *pde = 00000000 Oops: 0000 [#1] Modules linked in: cx8800 cx88xx ir_common lirc_i2c lirc_dev snd_trident_synth snd_seq_instr snd_seq_midi_emul snd_ainstr_simple snd_bt87x snd_intel8x0m snd_trident snd_ac97_codec snd_ac97_bus snd_util_mem snd_mpu401_uart snd_rawmidi i2c_sis630 fuse loop tuner tvaudio bttv video_buf btcx_risc tveeprom nvidia ndiswrapper sis900 CPU: 0 EIP: 0060:[<c02a9baa>] Tainted: P VLI EFLAGS: 00010283 (2.6.15-gentoo) EIP is at vsnprintf+0x2a/0x550 eax: c71466ef ebx: c7146680 ecx: 00000000 edx: c7146680 esi: c71466f0 edi: c7146280 ebp: c7146703 esp: c5171cf8 ds: 007b es: 007b ss: 0068 Process modprobe (pid: 19319, threadinfo=c5170000 task=c7133560) Stack: c04b9a2f cffef300 d0be1ea0 00000246 00000314 cffe7ec0 00000084 00000000 c7146280 c0146be5 00000084 c7146680 fffffff4 c7146280 d0be1ea0 c0343aa5 c71466f0 00000014 00000000 c5171d6c 00000000 c5e4b800 c0d7a460 d0bdf485 Call Trace: [<c04b9a2f>] schedule+0x30f/0x5d0 [<c0146be5>] kzalloc+0x25/0x60 [<c0343aa5>] class_device_create+0x95/0xd0 [<d0bdf485>] lirc_register_plugin+0x185/0x4e0 [lirc_dev] [<d0be4a5a>] ir_attach+0x11a/0x2a0 [lirc_i2c] [<d0be4d20>] ir_probe+0x100/0x350 [lirc_i2c] [<c03d90af>] i2c_add_driver+0x8f/0xc0 [<d0be4fbf>] init_module+0x3f/0x50 [lirc_i2c] [<c0135bda>] sys_init_module+0x12a/0x1c0 [<c010311f>] sysenter_past_esp+0x54/0x75 Code: 00 55 57 56 53 83 ec 2c 8b 44 24 44 85 c0 0f 88 ed 04 00 00 8b 74 24 40 8b 44 24 44 8d 6c 06 ff 89 f0 48 39 e8 77 42 8b 4c 24 48 <80> 39 00 74 24 90 0f b6 01 3c 25 74 40 39 ee 77 06 88 06 8b 4c I'm not sure why I didn't notice before.
There's a newer upstream release, lirc-0.8.0pre3, which claims to have some 2.6.15-related fixes, and it works for me. Could someone look into putting this into Portage (preferably *before* gentoo-sources 2.6.15 goes stable)?
Created attachment 76534 [details] lirc-0.8.0_pre3.ebuild The ebuild for lirc-0.8.0_pre3 I'm using locally; it's basically a version bump of the lirc-0.8.0_pre1 ebuild with some changes to fetch the source from the lirc site and not Gentoo distfiles.
0.8.0_pre3 in portage, please test.