]> git.karo-electronics.de Git - karo-tx-linux.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)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Wed, 14 Mar 2012 14:57:17 +0000 (10:57 -0400)
commitffd9631bc87bb8fbffa33694fdfbd9997eee705f
tree82232aa4caea17aa64c99a9196490a830c5aaced
parentf7ebd338151ca55f81beec1a1b9e9f23cdd2241c
USB: xhci - fix math in xhci_get_endpoint_interval()

commit dfa49c4ad120a784ef1ff0717168aa79f55a483a upstream.

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>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
drivers/usb/host/xhci-mem.c