]> git.baikalelectronics.ru Git - kernel.git/commit
USB: xhci - fix math in xhci_get_endpoint_interval()
authorDmitry Torokhov <dtor@vmware.com>
Thu, 24 Mar 2011 05:41:23 +0000 (22:41 -0700)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Wed, 13 Apr 2011 23:19:48 +0000 (16:19 -0700)
commit9e0580a0fa58f79676c6e577cd853ecbac6fb547
treed8dc009e82608aa2935d95ab07f50d7d3e3b7d9a
parenta62c1b80274fcdb7d2dff5383c47022b6dc58665
USB: xhci - fix math in xhci_get_endpoint_interval()

When parsing exponent-expressed intervals we subtract 1 from the
value and then expect it to match with original + 1, which is
highly unlikely, and we end with frequent spew:

usb 3-4: ep 0x83 - rounding interval to 512 microframes

Also, parsing interval for fullspeed isochronous endpoints was
incorrect - according to USB spec they use exponent-based
intervals (but xHCI spec claims frame-based intervals). I trust
USB spec more, especially since USB core agrees with it.

This should be queued for stable kernels back to 2.6.31.

Reviewed-by: Micah Elizabeth Scott <micah@vmware.com>
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@kernel.org
drivers/usb/host/xhci-mem.c