I've tried this patch together with Duncan's fix for my first problem and I couldn't reproduce any oops on my system. I've only tried a few (a dozen) cyles of loading/unloading for now (but earlier that was much enough to trigger an oops). I'll report later if/when I get any bad behaviour but so far everything looks fine.

Many thanks,

Vincent

Greg KH wrote:
Ok, below is the patch.  I've only compile tested it, not run it yet.
Please let me know if it works for you or not.

thanks,

greg k-h


===== hcd.c 1.123 vs edited =====
--- 1.123/drivers/usb/core/hcd.c Sun Dec 7 04:29:05 2003
+++ edited/hcd.c Wed Dec 10 13:06:19 2003
@@ -588,6 +588,9 @@
if (bus->release)
bus->release(bus);
+ /* FIXME change this when the driver core gets the
+ * class_device_unregister_wait() call */
+ complete(&bus->released);
}
static struct class usb_host_class = {
@@ -724,7 +727,11 @@
clear_bit (bus->busnum, busmap.busmap);
+ /* FIXME change this when the driver core gets the
+ * class_device_unregister_wait() call */
+ init_completion(&bus->released);
class_device_unregister(&bus->class_dev);
+ wait_for_completion(&bus->released);
}
EXPORT_SYMBOL (usb_deregister_bus);
===== usb.h 1.164 vs edited =====
--- 1.164/include/linux/usb.h Mon Oct 6 10:46:13 2003
+++ edited/usb.h Wed Dec 10 13:07:27 2003
@@ -210,6 +210,8 @@
struct class_device class_dev; /* class device for this bus */
void (*release)(struct usb_bus *bus); /* function to destroy this bus's memory */
+ /* FIXME, remove this when the driver core gets class_device_unregister_wait */
+ struct completion released;
};
#define to_usb_bus(d) container_of(d, struct usb_bus, class_dev)



------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&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