]> git.baikalelectronics.ru Git - kernel.git/commit
usb: ehci should use u16 for isochronous intervals
authorDavid Brownell <david-b@pacbell.net>
Thu, 24 Jan 2008 20:30:34 +0000 (12:30 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Feb 2008 22:35:06 +0000 (14:35 -0800)
commitc0470a7fc7617b5a4a318bd5337b60e9b30532c3
treeced2640ecaa9b8a9a2e3ce8fdfcaf16b6f1568bc
parentf0ed4ece2a78b0eab89f43e33d522da4241a03ac
usb: ehci should use u16 for isochronous intervals

While most isochronous endpoints have short polling intervals, the
EHCI driver won't necessarily handle larger ones correctly.

This patch switches to use a "u16" to represent those periods, not
a u8, since it can always work:  the largest expressible period
is 2^15 units ... not the previous too-short limit of 128 frames
(full or low speeds) or microframes (high speed, 32 frames).

This bug is essentially theoretical, since the few ISO endpoints
I've seen which don't use one transfer per frame are high speed
ones using more than that (including high bandwidth, 24 KB/msec).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci.h