Re: [PATCH] USB: Fix up bogus bInterval values in endpoint descriptors

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Sun, 10 Jun 2007, Laurent Pinchart wrote:

> From my experience, a common cause of bogus bInterval values is developers 
> forgetting that the value has a different meaning for high-speed and 
> low-speed/full-speed devices. I've come across a device reporting interrupt 
> bInterval set to 32 instead of 9. By sheer luck your patch fixes this 
> properly, but it would set a wrong bInterval value for devices setting 
> bInterval to 16 instead of 8 for instance.
> 
> The USB developers FAQ (available at http://www.lvr.com/usbfaq.htm) states 
> that
> 
> "Reports are that many device manufacturers are using full-speed bInterval 
> values in high-speed descriptors. Reports also say that under Windows, a 
> device may receive its intended polling rate (rather than its requested 
> polling rate) in spite of this error. Other operating systems are likely to 
> attempt to provide the requested polling rate, or may report an illegal 
> bInterval value."
> 
> For high-speed interrupt endpoints, wouldn't it be better to set bInterval to 
> fls(bInterval*8) if the requested value is higher than 16 ?

It's okay with me if you want to change the patch in that way.  Just be 
sure to do the conversion correctly.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.