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/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel