On Tuesday 21 April 2009, Dan Streetman wrote: > > Hopefully this description is ok? ;-) Yes, much better; thanks. Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > Without this patch, the driver won't check that the last fully-occupied > uframe for a new split transaction was vacant beforehand. This can > lead to a situation in which the first 188 bytes of a 192-byte > isochronous transfer are scheduled in the same uframe as an existing > interrupt transfer. The resulting schedule looks like this: > > uframe 0: 188-byte isoc-OUT SSPLIT, 8-byte int-IN SSPLIT > uframe 1: 4-byte isoc-OUT SSPLIT > > The SSPLITs are intermingled, causing an error in the downstream hub's > TT. > > If you are having problems with devices or hub ports resetting, or failed > interrupt transfers, when you start using a USB audio or video (Isochronous) > device, this patch may help. > > > 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