Scenario: kernel 2.6.4-gentoo-r1, HID compiled as module (gcc version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7)). Loading module 'hid' without problems, but 'rmmod hid' ends with OOPS, without respect if USB system was used or not. Thereafter the system becomes unstable and freezing after a few minutes. OOPS report: gentoo root # rmmod hid Oops: 0002 [#1] PREEMPT CPU: 0 EIP: 0060:[<e681ef39>] Tainted: P EFLAGS: 00010286 EIP is at hiddev_cleanup+0x29/0x40 [hid] eax: 00000060 ebx: d3bf4000 ecx: e19eb600 edx: e19eb614 esi: e6823980 edi: 00000000 ebp: d3920000 esp: d3921ed0 ds: 007b es: 007b ss: 0068 Process rmmod (pid: 9623, threadinfo=d3920000 task=d807b2e0) Stack: df5edd9c e6823a78 d3bf4000 e681e9b2 df5edd80 00000000 dd321d80 e19d311b dd321d80 dd321d80 d3a70b80 dd321d94 e68239a0 c023bd94 dd321d94 dd321dbc e68239ec e68239ec c023bdc0 dd321d94 e68239a0 c03613b8 c023bfed e68239a0 Call Trace: [<e681e9b2>] hid_disconnect+0xb2/0xd0 [hid] [<e19d311b>] usb_unbind_interface+0x7b/0x80 [usbcore] [<c023bd94>] device_release_driver+0x64/0x70 [<c023bdc0>] driver_detach+0x20/0x30 [<c023bfed>] bus_remove_driver+0x3d/0x80 [<c023c403>] driver_unregister+0x13/0x28 [<e19d31f1>] usb_deregister+0x31/0x40 [usbcore] [<e68214d4>] hid_exit+0x14/0x38 [hid] [<c013704b>] sys_delete_module+0x10b/0x140 [<c014b7f7>] do_munmap+0x147/0x190 [<c014b884>] sys_munmap+0x44/0x70 [<c010b387>] syscall_call+0x7/0xb Code: c7 04 85 00 3f 82 e6 00 00 00 00 83 c4 0c e9 b4 3e 92 d9 8d Segmentation fault
Does this still exist on the newer kernels? Perhaps 2.6.5 would b worth a shot. If that doesn't work could you try toggling preempt? Also, could you attach a copy of the config file you used as well?
The .config I sent by e-mail; sorry, at the moment I cannot test kernel 2.6.5 (rebuilding my system for NPTL ;-)). My 2.6.4-gentoo-r1 kernel is from 'gentoo-dev-sources;.
ok., the problem seems to be solved with 2.6.5-gentoo kernel. No OOP anymore.