On Tue, 4 Oct 2005, Glenn Maynard wrote:

> On Tue, Oct 04, 2005 at 09:08:16AM -0700, Pete Zaitcev wrote:
> > The clearing is needed only if a device is attached across the driver
> > reload, and if you cannot tolerate a command failure (most likely, an
> > open(2) would fail). If a device gets connected after the reload, it's
> > all the same. I am sure this should not be an issue in arcade
> > applications, where players plug keys in as save media.
> 
> It probably means that a device would show an error if it's left in across
> a reboot, and would need to be replugged.  (For example, someone installs
> a patch from a USB stick, reboots to apply it, and then plays the game
> with the same stick to test it.)  Just offering a case; this is something
> I can live with.

The error shows up because some devices don't clear their data toggles
when they receive a Set-Interface request.  The USB core sends a
Set-Interface whenever a driver is unloaded and assumes the device does
clear the toggles (the spec says that it should).  As a result, the
device's toggle might be set to 1 when the driver is reloaded, while the
computer thinks the toggle is 0.  This will cause the next data packet to
be ignored by the device (OUT endpoint) or by the host (IN endpoint).

If ub would time out and retry, this wouldn't be a problem.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to