]> git.baikalelectronics.ru Git - kernel.git/commit
usb-core bInterval quirk
authorJames P Michels III <james.p.michels@gmail.com>
Sun, 27 Jul 2014 17:28:04 +0000 (13:28 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Aug 2014 22:47:05 +0000 (15:47 -0700)
commit3aaf17405440e6e63eb99d8a0b111bfd935d108e
tree8b75990711e5ce8d060f2e7e236c32ca68e17a14
parentd64671ec61b9b48fe2d2292d310632157aed04ef
usb-core bInterval quirk

This patch adds a usb quirk to support devices with interupt endpoints
and bInterval values expressed as microframes. The quirk causes the
parse endpoint function to modify the reported bInterval to a standards
conforming value.

There is currently code in the endpoint parser that checks for
bIntervals that are outside of the valid range (1-16 for USB 2+ high
speed and super speed interupt endpoints). In this case, the code assumes
the bInterval is being reported in 1ms frames. As well, the correction
is only applied if the original bInterval value is out of the 1-16 range.

With this quirk applied to the device, the bInterval will be
accurately adjusted from microframes to an exponent.

Signed-off-by: James P Michels III <james.p.michels@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/config.c
drivers/usb/core/quirks.c
include/linux/usb/quirks.h