summaryrefslogtreecommitdiff
path: root/drivers/usb
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 /drivers/usb
parentf1a0743bc0e7a30c032b1eb78f6a2b0f805b4597 (diff)
downloadlinux-stable-d55500941fe6db4d7424c744522ee2451ac1ceda.tar.gz
linux-stable-d55500941fe6db4d7424c744522ee2451ac1ceda.tar.bz2
linux-stable-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>
Diffstat (limited to 'drivers/usb')
-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 3ea05936851f..3efa59b18044 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;
}