aboutsummaryrefslogtreecommitdiffstats
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
parentUSB: storage: When a device returns no sense data, call it a Hardware Error (diff)
downloadlinux-dev-d55500941fe6db4d7424c744522ee2451ac1ceda.tar.xz
linux-dev-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;
}