Hi, Trying again, this time CCing the list, since that's what LWN says to do. I'm not subscribed to the list. 2.6.31 oopses during rmmodding of the se401 webcam (Lexington something in my case). Oops attached below. Tainted kernel, nvidia kernel loaded, but the following bit seems wrong: First it sets se401->dev to NULL, and then it references se401->dev->dev Relevant bit excerpted Also, the website pointed to in the MAINTAINERS file for the se401 driver doesn't exist any more (W: http://www.chello.nl/~j.vreeken/se401/ ) Thanks, ale This under drivers/media/video/se401.c static void usb_se401_remove_disconnected (struct usb_se401 *se401) { int i; se401->dev = NULL; // here cleared for (i=0; i<SE401_NUMSBUF; i++) if (se401->urb[i]) { usb_kill_urb(se401->urb[i]); usb_free_urb(se401->urb[i]); se401->urb[i] = NULL; kfree(se401->sbuf[i].data); } for (i=0; i<SE401_NUMSCRATCH; i++) { kfree(se401->scratch[i].data); } if (se401->inturb) { usb_kill_urb(se401->inturb); usb_free_urb(se401->inturb); } dev_info(&se401->dev->dev, "%s disconnected", se401->camera_name); // this seems wrong It wasn't there in 2.6.23. Oct 25 17:36:49 localhost kernel: usb 2-2: USB disconnect, address 3 Oct 25 17:36:49 localhost kernel: BUG: unable to handle kernel NULL pointer dereference at 0000006c Oct 25 17:36:49 localhost kernel: IP: [<f822112d>] usb_se401_remove_disconnected+0x8d/0xf0 [se401] Oct 25 17:36:49 localhost kernel: *pde = 00000000 Oct 25 17:36:49 localhost kernel: Oops: 0000 [#1] PREEMPT SMP Oct 25 17:36:49 localhost kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:01:00.0/net/eth0/statistics/collisions Oct 25 17:36:49 localhost kernel: Modules linked in: iptable_mangle iptable_nat nf_nat xt_limit nf_conntrack_ipv4 nf_defrag_ipv4 xt_state ipt_addrtype xt_string xt_owner xt_multiport xt_mark xt_iprange xt_conntrack xt_NFQUEUE xt_MARK xt_CONNMARK nf_conntrack snd_seq_midi snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss sr_mod snd_emu10k1 snd_rawmidi snd_ac97_codec ac97_bus snd_pcm snd_seq_device snd_timer snd_page_alloc snd_util_mem nvidia(P) se401 snd_hwdep snd usbhid bttv ir_common i2c_algo_bit videobuf_dma_sg soundcore videobuf_core 8139too btcx_risc tveeprom ide_cd_mod 8139cp emu10k1_gp gameport evdev r8169 mii uhci_hcd Oct 25 17:36:49 localhost kernel: Oct 25 17:36:49 localhost kernel: Pid: 199, comm: khubd Tainted: P (2.6.31-gentoo-r2 #1) P5PL2 Oct 25 17:36:49 localhost kernel: EIP: 0060:[<f822112d>] EFLAGS: 00010296 CPU: 0 Oct 25 17:36:49 localhost kernel: EIP is at usb_se401_remove_disconnected+0x8d/0xf0 [se401] Oct 25 17:36:49 localhost kernel: EAX: 00000000 EBX: 00000200 ECX: f70002c0 EDX: 00000000 Oct 25 17:36:49 localhost kernel: ESI: f8224598 EDI: f3dbc000 EBP: f6a12000 ESP: f710ee2c Oct 25 17:36:49 localhost kernel: DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Oct 25 17:36:49 localhost kernel: Process khubd (pid: 199, ti=f710e000 task=f7064810 task.ti=f710e000) Oct 25 17:36:49 localhost kernel: Stack: Oct 25 17:36:49 localhost kernel: c123f956 103e4cb7 f3dbc000 f8225320 103e4cb7 f3e13bc0 f8225320 f3e13bdc Oct 25 17:36:49 localhost kernel: <0> c1345c40 103e4cb7 f3e13bdc f8225354 c15b7540 f3e13be4 c12ca2b4 103e4cb7 Oct 25 17:36:49 localhost kernel: <0> f3e13bdc f3e13c10 c12ca429 103e4cb7 c15b7540 f3e13bdc c12c96b3 103e4cb7 Oct 25 17:36:49 localhost kernel: Call Trace: Oct 25 17:36:49 localhost kernel: [<c123f956>] ? kref_put+0x36/0x80 Oct 25 17:36:49 localhost kernel: [<c1345c40>] ? usb_unbind_interface +0xb0/0x100 Oct 25 17:36:49 localhost kernel: [<c12ca2b4>] ? __device_release_driver +0x64/0xf0 Oct 25 17:36:49 localhost kernel: [<c12ca429>] ? device_release_driver +0x29/0x50 Oct 25 17:36:49 localhost kernel: [<c12c96b3>] ? bus_remove_device +0x83/0xe0 Oct 25 17:36:49 localhost kernel: [<c12c74cb>] ? device_del+0x10b/0x1b0 Oct 25 17:36:49 localhost kernel: [<c1342fe9>] ? usb_disable_device +0x89/0x120 Oct 25 17:36:49 localhost kernel: [<c133da06>] ? usb_disconnect +0xb6/0x140 Oct 25 17:36:49 localhost kernel: [<c133e6c0>] ? hub_thread+0x2c0/0x1180 Oct 25 17:36:49 localhost kernel: [<c102cde9>] ? pick_next_task_fair +0x59/0x120 Oct 25 17:36:49 localhost kernel: [<c102aee3>] ? __wake_up_common +0x63/0xa0 Oct 25 17:36:49 localhost kernel: [<c1052650>] ? autoremove_wake_function+0x0/0x60 Oct 25 17:36:49 localhost kernel: [<c133e400>] ? hub_thread+0x0/0x1180 Oct 25 17:36:49 localhost kernel: [<c105227c>] ? kthread+0x8c/0xa0 Oct 25 17:36:49 localhost kernel: [<c10521f0>] ? kthread+0x0/0xa0 Oct 25 17:36:49 localhost kernel: [<c1003ebf>] ? kernel_thread_helper +0x7/0x18 Oct 25 17:36:49 localhost kernel: Code: 02 00 00 75 e9 8b 87 98 01 00 00 85 c0 74 10 e8 6a 0f 12 c9 8b 87 98 01 00 00 e8 9f 13 12 c9 8b 87 14 01 00 00 8b b7 1c 01 00 00 <8b> 58 6c 83 c0 64 e8 e8 4e 0a c9 89 74 24 0c 89 5c 24 08 89 44 Oct 25 17:36:49 localhost kernel: EIP: [<f822112d>] usb_se401_remove_disconnected+0x8d/0xf0 [se401] SS:ESP 0068:f710ee2c Oct 25 17:36:49 localhost kernel: CR2: 000000000000006c Oct 25 17:36:49 localhost kernel: ---[ end trace a123c3ef1b3fc410 ]--- -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html