Since commit 811c926c538f7e8d3c08b630dd5844efd7e000f6 has been applied to stable trees, shouldn't this patch be applied to stable as well ? -- Sander Monday, November 28, 2011, 6:28:18 PM, you wrote: > On Mon, 28 Nov 2011, Matthieu CASTET wrote: >> Fix a regression that was introduced by commit >> 811c926c538f7e8d3c08b630dd5844efd7e000f6 (USB: EHCI: fix HUB TT scheduling >> issue with iso transfer). >> >> We detect an error if next == start, but this means uframe 0 can't be allocated >> anymore for iso transfer... >> >> Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> >> Signed-off-by: Matthieu CASTET <castet.matthieu@xxxxxxx> >> --- >> drivers/usb/host/ehci-sched.c | 9 +++++---- >> 1 files changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c >> index 56a3203..a60679c 100644 >> --- a/drivers/usb/host/ehci-sched.c >> +++ b/drivers/usb/host/ehci-sched.c >> @@ -1475,6 +1475,7 @@ iso_stream_schedule ( >> * jump until after the queue is primed. >> */ >> else { >> + int done = 0; >> start = SCHEDULE_SLOP + (now & ~0x07); >> >> /* NOTE: assumes URB_ISO_ASAP, to limit complexity/bugs */ >> @@ -1492,18 +1493,18 @@ iso_stream_schedule ( >> if (stream->highspeed) { >> if (itd_slot_ok(ehci, mod, start, >> stream->usecs, period)) >> - break; >> + done = 1; >> } else { >> if ((start % 8) >= 6) >> continue; >> if (sitd_slot_ok(ehci, mod, stream, >> start, sched, period)) >> - break; >> + done = 1; >> } >> - } while (start > next); >> + } while (start > next && !done); >> >> /* no room in the schedule */ >> - if (start == next) { >> + if (!done) { >> ehci_dbg(ehci, "iso resched full %p (now %d max %d)\n", >> urb, now, now + mod); >> status = -ENOSPC; > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > I can't believe I missed that. Must be getting old... > Alan Stern -- Best regards, Sander mailto:linux@xxxxxxxxxxxxxx -- 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