cvs commit: src/sys/dev/usb usb_port.h
M. Warner Losh
imp at bsdimp.com
Wed Sep 22 07:52:06 PDT 2004
In message: <20040921230445.B44288 at root.org>
Nate Lawson <nate at root.org> writes:
: On Wed, 22 Sep 2004, Warner Losh wrote:
: > imp 2004-09-22 06:02:10 UTC
: >
: > FreeBSD src repository
: >
: > Modified files:
: > sys/dev/usb usb_port.h
: > Log:
: > Add a temporary workaround to the panic on boot with hub attached and
: > panic on hub detach bugs that have been reported. This work around
: > detaches the device before deleting it. This changes the detach order
: > from in-order to pre-order. This avoids uhub's deleting the children
: > after its subdevs has been deleted.
: >
: > Revision Changes Path
: > 1.68 +1 -0 src/sys/dev/usb/usb_port.h
: >
: >
: > Index: src/sys/dev/usb/usb_port.h
: > diff -u src/sys/dev/usb/usb_port.h:1.67 src/sys/dev/usb/usb_port.h:1.68
: > --- src/sys/dev/usb/usb_port.h:1.67 Sun Aug 15 23:39:18 2004
: > +++ src/sys/dev/usb/usb_port.h Wed Sep 22 06:02:10 2004
: > @@ -422,6 +422,7 @@
: > #define config_detach(dev, flag) \
: > do { \
: > free(device_get_ivars(dev), M_USB); \
: > + device_detach(dev); \
: > device_delete_child(device_get_parent(dev), dev); \
: > } while (0);
:
: Shouldn't you free the ivars after detaching the device?
I don't think this is the right place to do that.
: If the device
: releases resources in its attach routine, you may be walking the resource
: list stored in the ivars but that will already have been freed with the
: above code.
resources aren't stored in ivars. usb devices do not use resources.
: It would also make sense to do this as the exact reverse of
: device creation.
I don't understand this.
Warner
More information about the cvs-src
mailing list