summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2009-10-06 13:45:59 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-10-09 13:52:08 -0700
commitd55500941fe6db4d7424c744522ee2451ac1ceda (patch)
treee480db815f57044e18d9167db9e1ed7f45354266
parentf1a0743bc0e7a30c032b1eb78f6a2b0f805b4597 (diff)
downloadlinux-3.10-d55500941fe6db4d7424c744522ee2451ac1ceda.tar.gz
linux-3.10-d55500941fe6db4d7424c744522ee2451ac1ceda.tar.bz2
linux-3.10-d55500941fe6db4d7424c744522ee2451ac1ceda.zip
USB: ehci: Fix isoc scheduling boundary checking.
The EHCI driver does some bounds checking when it's scheduling an iTD for an active endpoint. It sets the local variable start to stream->next_uframe and moves that variable further in the schedule if necessary. However, the driver fails to do anything with start before jumping to the ready label and setting the URB's starting frame to stream->next_uframe. Alan Stern confirms the EHCI driver should set stream->next_uframe to start before jumping. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/host/ehci-sched.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index 3ea05936851..3efa59b1804 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -1425,6 +1425,7 @@ iso_stream_schedule (
status = -EFBIG;
goto fail;
}
+ stream->next_uframe = start;
goto ready;
}