On Mon, 14 Oct 2002, Oliver Neukum wrote: > Am Montag, 14. Oktober 2002 02:04 schrieb Greg KH: > > On Sun, Oct 13, 2002 at 03:36:04PM +0200, Oliver Neukum wrote: > > > > > > Races with disconnect: > > > All synchronous operations (usb_reset_device, usb_clear_halt, ...) > > > > Hm, any pointers to the problem area? > > URBs are not properly unlinked. That cannot be done, as nobody has > an external handle on these URBs.
I assumed, when working on the usb-storage module, that when a disconnect occurred all the active URBs referring to that device would quickly fail or be cancelled by the usb core. Is that not the case? If not, would it be possible to change things to work this way? > > > Races with probe: > > > usb_reset_device, a probe while resetting is bound to malfunction > > > > Like David said, I don't think this is a problem. I'm not up-to-date on it, but the logical way for usb_reset_device to work is to lock the device (i.e., prevent probes or disconnect notifications), simulate a disconnect (notifying all drivers registered for the device and cancelling all outstanding URBs), actually reset the device, go through the whole probe sequence, and then unlock the device. Anything else runs into problems with races of one sort or another. Alan Stern ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
