From: Greg Kroah-Hartman Date: Mon, 28 Nov 2011 22:40:10 +0000 (+0900) Subject: Revert "USB: EHCI: fix HUB TT scheduling issue with iso transfer" X-Git-Tag: v3.1.4~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a8dec4b97aaf62dd1d532fd1b2edbc26afd4cb9;p=thirdparty%2Fkernel%2Fstable.git Revert "USB: EHCI: fix HUB TT scheduling issue with iso transfer" This reverts commit f0cc710a6dec5b808a6f13f1f8853c094fce5f12. Cc: Matthieu Castet Cc: Thomas Poussevin Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index afef3df9757d4..29bec34973b94 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c @@ -1480,15 +1480,10 @@ iso_stream_schedule ( /* NOTE: assumes URB_ISO_ASAP, to limit complexity/bugs */ - /* find a uframe slot with enough bandwidth. - * Early uframes are more precious because full-speed - * iso IN transfers can't use late uframes, - * and therefore they should be allocated last. - */ - next = start; - start += period; - do { - start--; + /* find a uframe slot with enough bandwidth */ + next = start + period; + for (; start < next; start++) { + /* check schedule: enough space? */ if (stream->highspeed) { if (itd_slot_ok(ehci, mod, start, @@ -1501,7 +1496,7 @@ iso_stream_schedule ( start, sched, period)) break; } - } while (start > next); + } /* no room in the schedule */ if (start == next) {