![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=370872 User fseidel@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=370872#c8 --- Comment #8 from Frank Seidel <fseidel@novell.com> 2008-03-19 10:02:26 MST --- I'll try to describe here to where i tracked this down. In short: on the removal of the first child device (usb_disconnect in drivers/usb/core/hub.c) he runs in usb_disable_endpoint(dev,i+USB_DIR_IN) of the second endpoint (i==1) to usb_kill_urb() where he comes to wait_event(usb_kill_urb_queue..) und starves there forever. When issueing the "pccardctl eject" no application is accessing it anymore. How i came there (line numbers will differ because of my additional debugcode, but the order of function names and calls should make it clear): # pccardctl eject ->echo 1 > /sys/class/pcmcia_socket/pcmcia_socket0/card_eject ->drivers/pcmcia/socket_sysfs.c:143: pcmcia_eject_card() ->drivers/pcmcia/cs.c:895: socket_remove() -> :609: socket_shutdown() -> :415: cb_free() ->drivers/pcmcia/cardbus.c:256: pci_remove_behind_bridge() ->drivers/pci/remove.c:135: pci_remove_bus_device() in first run of for_each loop -> :111: pci_destroy_dev() -> :40: pci_stop_dev() -> :29: device_unregister() ->drivers/base/core.c:1002: device_del() -> :955: bus_remove_device() ->drivers/base/bus.c:543: device_release_driver() ->drivers/base/dd.c:337: __device_release_driver() -> :307: dev->bus->remove(dev) ->drivers/usb/core/hcd-pci.c:169: usb_hcd_pci_remove() -> :179: usb_remove_hcd() ->drivers/usb/core/hcd.c:1970: usb_disconnect() -> :1194: usb_disconnect() 1st loop run for children (devnum==2) -> :1204: usb_disable_device() ->drivers/usb/core/message.c: (1076:dev_dbg() => "usb 8-1: usb_disable_device nuking all URBs") 1082: usb_disable_endpoint(dev,i+USB_DIR_IN) with i==1 (so its 2nd loop run) ->drivers/usb/core/message.c:1037: usb_hcd_flush_endpoint() ->drivers/usb/core/hcd.c:1514: usb_kill_urb(urb) in 1st run of urb_list loop ->drivers/usb/core/urb.c:561: wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0); on this last call it hangs and never returns. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.