On Sat, 4 Feb 2006, Helmut Toplitzer wrote:

> On Saturday 04 February 2006 05:57, Mike Isely wrote:
> > On Sat, 4 Feb 2006, Helmut Toplitzer wrote:
> > > On Saturday 04 February 2006 02:08, Helmut Toplitzer wrote:
> > >> Hi!
> > >>
> > >>
> > >> Just in case ....
> > >>
> > >> Maybe Ingo Flaschberger's idea should be the default (tolerating
> > >> errors).
> > >
> > > But it doesn't work either...
> >
> > No surprise there.  Covering a symptom does not solve the problem.
> >
> > > Maybe device should be reset.
> >
> > Resetting the device is a very disruptive operation.  There's not even any
> > evidence that a reset of the device would help - especially if it isn't
> > the device that is the cause.  I could try to code for something like
> > that, but again as I've said before, the device seems to be operating
> > reliably for pretty much everyone else which leads me to wonder if there
> > still isn't something unique to your configuration which is causing this
> > that has not yet been isolated.
> >
> > Don't get me wrong.  I'm not trying to ignore you here.  I'm just not
> > convinced that we have a real problem with the driver or the device in
> > general.

It could be something as silly as electromagnetic interference from the 
fluorescent lights causing occasional packets to be messed up.  (Yes, that 
actually happened to somebody -- his device would stop working whenever he 
switched the lights on or off.)

The point is that I/O errors _do_ occur from time to time, and a robust 
driver should be prepared to tolerate them.  If the error takes the form 
of a burst of interference which goes away after a few milliseconds, then 
retrying an operation or simply skipping over the missing data will 
suffice.  If the error affects the device badly enough or the error is 
caused by a problem in the device then retrying may fail, leaving no 
alternative but to reset the device or to give up altogether.

A good first step would be to add some debugging code, so that Helmut can
tell exactly where the driver encounters the problem, what the relevant
error codes are, and what happens when the driver and userspace program
try to continue.  Does the software somehow get out of sync with the
device's I/O stream?  Does the device stop responding entirely?

You said above that there's no evidence that a device reset would help.  
You need to find a way to get that evidence, either positive or negative.

Alan Stern



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
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