lkml.org 
[lkml]   [2003]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [linux-usb-devel] Re: [OOPS, usbcore, releaseintf] 2.6.0-test10-mm1
    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)
    >

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:59    [W:0.038 / U:0.764 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site