Hi,

The following patch from Alan Stern <[EMAIL PROTECTED]> fixes a
bug in the current USB code that causes khubd to hang when a device is
removed from the system, thereby preventing any future USB device
changes (like adding or removing other devices) from happening.

Both Andrew and I can easily duplicate this bug against the current -bk
tree.

It's not a perfect fix, but it works for now, and I will spend the next
week working on restructuring the code so this is handled properly.

thanks,

greg k-h

--- 1.73/drivers/usb/core/message.c     Wed Mar 17 14:16:47 2004
+++ edited/drivers/usb/core/message.c   Wed Mar 24 10:17:04 2004
@@ -794,9 +794,6 @@
 
 static void release_interface(struct device *dev)
 {
-       struct usb_interface *interface = to_usb_interface(dev);
-
-       complete(interface->released);
 }
 
 /*
@@ -828,16 +825,12 @@
        if (dev->actconfig) {
                for (i = 0; i < dev->actconfig->desc.bNumInterfaces; i++) {
                        struct usb_interface    *interface;
-                       struct completion       intf_completion;
 
                        /* remove this interface */
                        interface = dev->actconfig->interface[i];
                        dev_dbg (&dev->dev, "unregistering interface %s\n",
                                interface->dev.bus_id);
-                       init_completion (&intf_completion);
-                       interface->released = &intf_completion;
                        device_unregister (&interface->dev);
-                       wait_for_completion (&intf_completion);
                }
                dev->actconfig = 0;
                if (dev->state == USB_STATE_CONFIGURED)




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to