The current EHCI TT scheduler checks any periodic transfers greater than 1 uframe to make sure each of its fully-used uframes is empty, but there is a bug that causes it to not check the last fully-used uframe. This patch removes the unneeded -1 to fix that bug, so the scheduler does check each fully-used uframe to verify that it is empty before scheduling the transfer. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Reported-by: Kung James <kong1191@xxxxxxxxx> --- a/drivers/usb/host/ehci-sched.c 2009-04-17 15:05:02.000000000 -0400 +++ linux-2.6.30-rc2/drivers/usb/host/ehci-sched.c 2009-04-17 15:05:33.000000000 -0400 @@ -323,7 +323,7 @@ static int tt_available ( * already scheduled transactions */ if (125 < usecs) { - int ufs = (usecs / 125) - 1; + int ufs = (usecs / 125); int i; for (i = uframe; i < (uframe + ufs) && i < 8; i++) if (0 < tt_usecs[i]) { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html