On Wed, Sep 01, 2004, David Brownell <[EMAIL PROTECTED]> wrote:
> On Tuesday 31 August 2004 12:50 pm, Alan Stern wrote:
> 
> > > Anyway, could anyone comment on the problem I discovered ?
> > > Could it be a UHCI/root hub problem ? Or is it certain that the
> > > device is faulty ? If the device is faulty, what should be done ? 
> > > Could the buffer size be lowered from  
> > > 9 to 8, or is it against the kernel policies to make such a change for a 
> > > broken device ?
> > 
> > It's certainly not the kernel's fault.  And the buffer size cannot be
> > lowered back to 8, as raising it to 9 was necessary to work with other
> > (slightly broken) devices.
> > 
> > Another possibility is to increase the buffer to 64 bytes.
> 
> Or to lower it to 4 bytes ... I was going to send in a patch that did that,
> but the 9 byte patch went in first.  The config descriptor's full size is
> bytes index 2 and 3 in the buffer.
> 
> A 4 byte request forces a short read in the same way 9 bytes does,
> but 8 bytes does not.  And a 9 byte request is prone to two different
> families of boundary case bugs:  8 byte boundary for packet size,
> and 10 byte boundary for the next descriptor in the group.

I'm pretty sure the code used to request 4 bytes a long time ago, but it
was changed to deal with out-of-spec devices, to the 8 bytes it's been
for a while now.

I think the Linux code should try to imitate what Windows does. Anyone
have any traces?

JE



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to