Am Mittwoch, 23. Oktober 2002 20:47 schrieb David Brownell: > > This could also be entirely solved by making the requirements that: > > (1) The core or HCD will unlink all URBs for a removed device when > > it's removed > > I've wanted to see this for some time. It's now easy enough to do > for anything using the hcd.c code, since it has a list of those urbs. > In fact I'd like to see this done before driver->disconnect() is called. > > But that'd leave an issue with urbs getting submitted later. Today > the synchronization point is "return from disconnect", so that unlinking > urbs before then won't eliminate all the complication.
Exactly, so do it after driver->disconnect() > > (2) The mid- and high-level drivers will not submit any more URBs > > to the removed device once the disconnect() routine has ended. > > If we could set usb_device->dev.state to DEVICE_GONE before we start > to disconect(), we could do even better: we could guarantee that any > new urb submissions would fail, so even a driver _trying_ to do the > wrong thing wouldn't be able to do so. How will this help if we must not follow the usb_device pointer before being sure it's valid? Regards Oliver ------------------------------------------------------- This sf.net email is sponsored by: Influence the future of Java(TM) technology. Join the Java Community Process(SM) (JCP(SM)) program now. http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0002en _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel