On Mon, Apr 25, 2011 at 03:18:46PM -0400, Alan Stern wrote: > On Mon, 25 Apr 2011, Sarah Sharp wrote: > > > Random question time. :) > > > > Do USB device drivers have to cancel all URBs that are pending for a > > device before calling usb_reset_device? Will the drivers have to wait > > for the URBs to complete before resetting the device? > > There is no requirement that drivers cancel all URBs before a reset > occurs. Indeed, some drivers can't because they have no way to know > when another driver bound to another interface on the same device wants > to do a reset, i.e., they have no pre_reset callback. Ah, ok. Apparently Windows recommends canceling all outstanding transfers before issuing a port reset, which was apparently what the chipset folks were hoping Linux also suggested. Oh well. > Of course, an URB that remains active during a reset is quite likely to > fail. Mmm, so the active URB's internal structures on the frame list and async list would still be there during the reset? I think that's what the chipset folks are fishing for. > I trust these answers will dismay your chipset people... :-) Yes, probably. :) Sarah Sharp -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html