USB: ehci: Fix IST boundary checking interval math.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 9 Oct 2009 19:28:41 +0000 (12:28 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 Oct 2009 21:54:43 +0000 (14:54 -0700)
commit36f21329d217016f0f212f0752ae595b4a76754d
tree20c3b63928586fdc7ea66a5945926cb4828b2a75
parent12148da6722be3b44c2220206b6ccb80d2d9d8f8
USB: ehci: Fix IST boundary checking interval math.

When the EHCI driver falls behind in its scheduling, the active stream's
first empty microframe may be in the past with respect to the current
microframe.  The code attempts to move the starting microframe ("start") N
number of microframes forward, where N is the interval of endpoint.
However, stream->interval is a copy of the endpoint's bInterval, which is
designated in frames for FS devices, and microframes for HS devices.
Convert stream->interval to microframes before using it to move the
starting microframe forward.

Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-sched.c