Am Friday 30 January 2009 16:26:31 schrieb Alan Stern: > > Taking an extra reference to the pci device doesn't help. > > What is to be done? > > Are you sure you really understand the nature of the problem? You are right, I overlooked a very important detail. I was looking at two controllers. Here the log of the ejection: Feb 2 12:06:15 linux-daoy kernel: pcmcia_socket pcmcia_socket0: pccard: card ejected from slot 0 Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: remove, state 4 Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: roothub graceful disconnect Feb 2 12:06:15 linux-daoy kernel: usb usb6: USB disconnect, address 1 Feb 2 12:06:15 linux-daoy kernel: usb usb6: unregistering device Feb 2 12:06:15 linux-daoy kernel: usb usb6: usb_disable_device nuking all URBs Feb 2 12:06:15 linux-daoy kernel: usb usb6: unregistering interface 6-0:1.0 Feb 2 12:06:15 linux-daoy kernel: usb 6-0:1.0: uevent Feb 2 12:06:15 linux-daoy kernel: usb usb6: uevent Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: OHCI controller state Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: OHCI 3.15, NO legacy support registers Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: control 0xffffffff RWE RWC IR HCFS=suspend BLE CLE IE PLE CBSR=3 Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: cmdstatus 0xffffffff SOC=3 OCR BLF CLF HCR Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: intrstatus 0xffffffff MIE OC RHSC FNO UE RD SF WDH SO Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: intrenable 0xffffffff MIE OC RHSC FNO UE RD SF WDH SO Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_periodcurrent ffffffff Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_controlhead ffffffff Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_controlcurrent ffffffff Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_bulkhead ffffffff Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_bulkcurrent ffffffff Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: donehead ffffffff Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: hcca frame #044e Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: USB bus 6 deregistered First controller gone. Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: PCI INT A disabled Interrupt shut down. Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.1: remove, state 1 Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.1: roothub graceful disconnect Feb 2 12:06:15 linux-daoy kernel: usb usb7: USB disconnect, address 1 Feb 2 12:06:15 linux-daoy kernel: usb 7-1: USB disconnect, address 2 Feb 2 12:06:15 linux-daoy kernel: usb 7-1: unregistering device Feb 2 12:06:15 linux-daoy kernel: usb 7-1: usb_disable_device nuking all URBs Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.1: shutdown urb f61a0b40 ep1in-intr The second controller is being shut down and hangs in usb_kill_urb(), as the interrupt is never delivered. A sysrq-t trace confirms that: Feb 2 10:50:13 linux-daoy kernel: pccardctl D 0000002d 0 3494 3457 Feb 2 10:50:13 linux-daoy kernel: ec0e3d40 00000082 4603a759 0000002d f6100580 ec0e3ca8 c0431078 c0508804 Feb 2 10:50:13 linux-daoy kernel: c050b600 c050b600 c050b600 ec0e3cd8 f6002e90 f60030f0 c1806600 00000001 Feb 2 10:50:13 linux-daoy kernel: 461143c4 0000002d ec0e3cdc c0116ec9 ec0e3cec 00000286 f61b0cec f61b0c00 Feb 2 10:50:13 linux-daoy kernel: Call Trace: Feb 2 10:50:13 linux-daoy kernel: [<c0116ec9>] ? default_spin_lock_flags+0x8/0xb Feb 2 10:50:13 linux-daoy kernel: [<f8151749>] ? ohci_urb_dequeue+0xb3/0xbe [ohci_hcd] Feb 2 10:50:13 linux-daoy kernel: [<c01f5062>] ? kobject_put+0x37/0x3c Feb 2 10:50:13 linux-daoy kernel: [<c0116ec9>] ? default_spin_lock_flags+0x8/0xb Feb 2 10:50:13 linux-daoy kernel: [<f80393e0>] ? usb_put_dev+0xf/0x11 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<c01390fc>] ? prepare_to_wait+0x43/0x48 Feb 2 10:50:13 linux-daoy kernel: [<f803fa74>] usb_kill_urb+0x86/0xa3 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<c0138fab>] ? autoremove_wake_function+0x0/0x33 Feb 2 10:50:13 linux-daoy kernel: [<f803e5b0>] usb_hcd_flush_endpoint+0x170/0x18a [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<f804036c>] usb_disable_endpoint+0x3c/0x49 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<f80403da>] usb_disable_device+0x61/0x125 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<f803bd45>] usb_disconnect+0xa2/0x118 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<f803bd21>] usb_disconnect+0x7e/0x118 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<f803dc30>] usb_remove_hcd+0xaa/0x102 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<f80483bd>] usb_hcd_pci_remove+0x18/0x87 [usbcore] Feb 2 10:50:13 linux-daoy kernel: [<c0204c81>] pci_device_remove+0x19/0x39 Feb 2 10:50:13 linux-daoy kernel: [<c02669c9>] __device_release_driver+0x61/0x7e Feb 2 10:50:13 linux-daoy kernel: [<c0266a97>] device_release_driver+0x1b/0x26 Feb 2 10:50:13 linux-daoy kernel: [<c026625d>] bus_remove_device+0x75/0x8f Feb 2 10:50:13 linux-daoy kernel: [<c0264fe5>] device_del+0xf1/0x148 Feb 2 10:50:13 linux-daoy kernel: [<c0265047>] device_unregister+0xb/0x15 Feb 2 10:50:13 linux-daoy kernel: [<c02010e7>] pci_stop_dev+0x23/0x2d Feb 2 10:50:13 linux-daoy kernel: [<c02011ac>] pci_remove_bus_device+0x2b/0x93 Feb 2 10:50:13 linux-daoy kernel: [<c0201230>] pci_remove_behind_bridge+0x1c/0x30 Feb 2 10:50:13 linux-daoy kernel: [<f7f831f3>] cb_free+0x3b/0x3f [pcmcia_core] Feb 2 10:50:13 linux-daoy kernel: [<f7f80527>] socket_shutdown+0x77/0xd7 [pcmcia_core] Feb 2 10:50:13 linux-daoy kernel: [<f7f806d4>] socket_remove+0x32/0x3c [pcmcia_core] Feb 2 10:50:13 linux-daoy kernel: [<f7f80720>] pcmcia_eject_card+0x42/0x50 [pcmcia_core] Feb 2 10:50:13 linux-daoy kernel: [<f7f82dcd>] pccard_store_eject+0x1d/0x26 [pcmcia_core] Feb 2 10:50:13 linux-daoy kernel: [<f7f82db0>] ? pccard_store_eject+0x0/0x26 [pcmcia_core] Feb 2 10:50:13 linux-daoy kernel: [<c02644c5>] dev_attr_store+0x1b/0x23 Feb 2 10:50:13 linux-daoy kernel: [<c01c6333>] sysfs_write_file+0xb0/0xdb Feb 2 10:50:13 linux-daoy kernel: [<c01c6283>] ? sysfs_write_file+0x0/0xdb Feb 2 10:50:13 linux-daoy kernel: [<c0189568>] vfs_write+0x8c/0x136 Feb 2 10:50:13 linux-daoy kernel: [<c018772b>] ? do_sys_open+0xb3/0xbd Feb 2 10:50:13 linux-daoy kernel: [<c01896ab>] sys_write+0x3b/0x60 Feb 2 10:50:13 linux-daoy kernel: [<c01031eb>] sysenter_do_call+0x12/0x2f At this point it looks like a generic PCI, not a USB problem. Regards Oliver -- 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