From: Johannes E. <joh...@er...> - 2003-12-21 20:21:24
|
On Sun, Dec 21, 2003, Philip Lawatsch <ph...@la...> wrote: > > That error is -EAGAIN. Looking at the code, it seems we return that in > > the timeout case, which is probably not a good idea since every other > > function returns -ETIMEOUT. > > > Can you treat that error as a timeout and see if things still work? > > > I'll work on getting that return code fixed. > > Hmmmm, buuuut, the problem is that this just _cant_ be a timeout, since my > timeout value is REALLY high (several seconds) I fixed the problem with -EAGAIN being returned. This would also leave an URB outstanding, which would cause some problems. > > Hmm, that is strange. > > > > Is is that the data is delayed or that you seem to be dropping data? > > Dropping. > > But, well, this might be some really strange issue. > I can just say that with the original windows driver this does not happen > ... > God knows why :( I can only think of 1 of 2 things: 1) The bug with -EAGAIN would leave an URB outstanding, which could complete and we would get confused. 2) Data toggle problem. Maybe the Windows driver is resetting the data toggle? Maybe there's a bug in Linux? If you can update from CVS and try again, that would be great. JE |