Apparently all of you are suffering from the same problem, caused by a
change that I made not long ago.  Oddly enough, it worked perfectly on my
system -- but I don't have a USB scanner, printer, or mouse!

The patch below is not a permanent fix (at least, I hope it isn't), but it 
should take care of the immediate problem.  Please let me know how it ends 
up working.

It removes code that makes the khubd thread wait for all users of a 
disconnected device to stop trying to use it.  It's not at all clear to me 
what process or driver would keep on trying to use a device after it has 
been disconnected, but evidently something is doing just that.  Maybe this 
patch will help flush it out, maybe not.

Alan Stern


===== drivers/usb/core/message.c 1.73 vs edited =====
--- 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