Hi, ejecting a PC-card that contains an ohci controler hangs the ejecting task. During the ejection pci_disable_device() is called: Jan 30 14:45:37 linux-daoy kernel: [<c0202ba0>] pci_disable_device+0x3d/0x50 Jan 30 14:45:37 linux-daoy kernel: [<f8048425>] usb_hcd_pci_remove+0x80/0x87 [usbcore] Jan 30 14:45:37 linux-daoy kernel: [<c0204c81>] pci_device_remove+0x19/0x39 Jan 30 14:45:37 linux-daoy kernel: [<c02669c9>] __device_release_driver+0x61/0x7e Jan 30 14:45:37 linux-daoy kernel: [<c0266a97>] device_release_driver+0x1b/0x26 Jan 30 14:45:37 linux-daoy kernel: [<c026625d>] bus_remove_device+0x75/0x8f Jan 30 14:45:37 linux-daoy kernel: [<c0264fe5>] device_del+0xf1/0x148 Jan 30 14:45:37 linux-daoy kernel: [<c0265047>] device_unregister+0xb/0x15 Jan 30 14:45:37 linux-daoy kernel: [<c02010e7>] pci_stop_dev+0x23/0x2d Jan 30 14:45:37 linux-daoy kernel: [<c02011ac>] pci_remove_bus_device+0x2b/0x93 Jan 30 14:45:37 linux-daoy kernel: [<c0201230>] pci_remove_behind_bridge+0x1c/0x30 Jan 30 14:45:37 linux-daoy kernel: [<f81111f3>] cb_free+0x3b/0x3f [pcmcia_core] Jan 30 14:45:37 linux-daoy kernel: [<f810e527>] socket_shutdown+0x77/0xd7 [pcmcia_core] Jan 30 14:45:37 linux-daoy kernel: [<f810e6d4>] socket_remove+0x32/0x3c [pcmcia_core] Jan 30 14:45:37 linux-daoy kernel: [<f810e720>] pcmcia_eject_card+0x42/0x50 [pcmcia_core] Jan 30 14:45:37 linux-daoy kernel: [<f8110dcd>] pccard_store_eject+0x1d/0x26 [pcmcia_core] Jan 30 14:45:37 linux-daoy kernel: [<f8110db0>] ? pccard_store_eject+0x0/0x26 [pcmcia_core] Jan 30 14:45:37 linux-daoy kernel: [<c02644c5>] dev_attr_store+0x1b/0x23 Jan 30 14:45:37 linux-daoy kernel: [<c01c6333>] sysfs_write_file+0xb0/0xdb Jan 30 14:45:37 linux-daoy kernel: [<c01c6283>] ? sysfs_write_file+0x0/0xdb Jan 30 14:45:37 linux-daoy kernel: [<c0189568>] vfs_write+0x8c/0x136 Jan 30 14:45:37 linux-daoy kernel: [<c018772b>] ? do_sys_open+0xb3/0xbd Jan 30 14:45:37 linux-daoy kernel: [<c01896ab>] sys_write+0x3b/0x60 Jan 30 14:45:37 linux-daoy kernel: [<c01031eb>] sysenter_do_call+0x12/0x2f That disables the card's interrupt line and tries to call usb_kill_urb() after that which forever waits for an interrupt (presumably the doorbell interrupt) Taking an extra reference to the pci device doesn't help. What is to be done? 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