summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/ehci-sched.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index a5535b5e3fe..84079ebbe65 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -1385,7 +1385,7 @@ sitd_slot_ok (
* given EHCI_TUNE_FLS and the slop). Or, write a smarter scheduler!
*/
-#define SCHEDULE_SLOP 10 /* frames */
+#define SCHEDULE_SLOP 80 /* microframes */
static int
iso_stream_schedule (
@@ -1399,7 +1399,7 @@ iso_stream_schedule (
unsigned mod = ehci->periodic_size << 3;
struct ehci_iso_sched *sched = urb->hcpriv;
- if (sched->span > (mod - 8 * SCHEDULE_SLOP)) {
+ if (sched->span > (mod - SCHEDULE_SLOP)) {
ehci_dbg (ehci, "iso request %p too long\n", urb);
status = -EFBIG;
goto fail;
@@ -1432,7 +1432,7 @@ iso_stream_schedule (
start += mod;
/* Fell behind (by up to twice the slop amount)? */
- if (start >= max - 2 * 8 * SCHEDULE_SLOP)
+ if (start >= max - 2 * SCHEDULE_SLOP)
start += period * DIV_ROUND_UP(
max - start, period) - mod;
@@ -1451,7 +1451,7 @@ iso_stream_schedule (
* can also help high bandwidth if the dma and irq loads don't
* jump until after the queue is primed.
*/
- start = SCHEDULE_SLOP * 8 + (now & ~0x07);
+ start = SCHEDULE_SLOP + (now & ~0x07);
start %= mod;
stream->next_uframe = start;