Skip to content

Commit

Permalink
USB: ehci: Minor constant fix for SCHEDULE_SLOP.
Browse files Browse the repository at this point in the history
Change the constant SCHEDULE_SLOP to be 80 microframes, instead of 10
frames.  It was always multiplied by 8 to convert frames to microframes.
SCHEDULE_SLOP is only used in ehci-sched.c.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Sarah Sharp authored and Greg Kroah-Hartman committed Dec 11, 2009
1 parent 3c67d89 commit d7e055f
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/usb/host/ehci-sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
Expand All @@ -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;
Expand Down Expand Up @@ -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;

Expand All @@ -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;

Expand Down

0 comments on commit d7e055f

Please sign in to comment.