Commit e24371a6 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

USB: EHCI: check the right uframes for CSPLIT

The check_intr_schedule() routine in ehci-hcd looks at the wrong
microframes when checking to see if a full-speed or low-speed
interrupt endpoint will fit in the periodic schedule.  If the
Start-Split transaction is scheduled for microframe N then the
Complete-Split transactions get scheduled for microframes N+2, N+3, and
N+4.  However the code considers N+1, N+2, and N+3 instead.

This patch fixes the limits on the "for" loop and also improves the
use of whitespace.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 63fb3a28
...@@ -761,7 +761,7 @@ static int check_intr_schedule ( ...@@ -761,7 +761,7 @@ static int check_intr_schedule (
unsigned i; unsigned i;
/* TODO : this may need FSTN for SSPLIT in uframe 5. */ /* TODO : this may need FSTN for SSPLIT in uframe 5. */
for (i=uframe+1; i<8 && i<uframe+4; i++) for (i = uframe+2; i < 8 && i <= uframe+4; i++)
if (!check_period (ehci, frame, i, if (!check_period (ehci, frame, i,
qh->period, qh->c_usecs)) qh->period, qh->c_usecs))
goto done; goto done;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment