On Saturday 04 September 2004 7:02 am, Laurent Pinchart wrote:
> 
> The following comment is present in hub.c:1175
> 
> /* cope with hardware quirkiness:
>  *  - let SET_ADDRESS settle, some device hardware wants it
>  *  - read ep0 maxpacket even for high and low speed,
>  */
> 
> Could anyone tell me who added that comment ?

Probably me.  I've certainly seen devices that misbehave
if SET_ADDRESS doesn't have time to settle (PXA 255),
but the other reason is probably just historical paranoia.
I'm not sure who actually wrote that code in the first
place, but it included no explanations ...


> Is anyone aware of any low-speed  
> device that would fail with more than ep0 maxpacket ? My low-speed device 
> fails for ep0 maxpacket :-)

Nope; and changinging maxpacket should be needed only for
full speed devices.  That little wierdness in the code (pointless
descriptor fetches for non-fullspeed devices) never made
much sense to me.

 
> If we want to mimic Windows XP behaviour, the request size should
> be raised to  
> 18 bytes (which is the size of a device descriptor), and SET_ADDRESS should 
> be issued after reading the descriptor.

Or more simply:  only do the guess/read/fix maxpacket dance
for full speed devices.  Low and high speed devices always
have fixed maxpacket, they can just read the descriptor as
soon as the hardware settled from SET_ADDRESS.   Got Patch?  :)

I'm not sure I really like the idea of switching right now to doing
the SET_ADDRESS second ... maybe later, but first I'd rather make
Linux handle the variety of peripheral bugs in GET_DESCRIPTOR
handling.  Changing more than one factor at a time in this area
will just get messy.  Fixes for descriptor fetch problems need to get
applied to both device and config descriptors, too.

- Dave
 


-------------------------------------------------------
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