aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/core/devio.c
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2008-01-07 00:47:42 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 14:35:02 -0800
commit79592b722e7a8476680197d97352d2cc0f1bffd2 (patch)
treef7900c1a6116414b5e0d81b4359d3601c23e4a19 /drivers/usb/core/devio.c
parentaa16ca307ee2da304d3a5fc0fc5e50ef8047c9e9 (diff)
USB: ehci completes high speed ISO URBs sooner
This has some bugfixes for the EHCI driver's ISO transfer scanning logic. It was leaving ITDs and SITDs on the schedule too long, for a few different reasons, which caused trouble. (a) Look at all microframes for high speed transfers, not just the ones we expect to have finished. This way transfers ending mid-frame will complete without needing another IRQ. This also minimizes bogus scheduling underruns (e.g. EL2NSYNC). (b) When we encounter an ISO transfer (either speed, but this hits mostly at full speed) that's not yet been completed, immediately stop scanning; we've caught up to the hardware, no matter what other indications might say. (c) Always clean up ITDs (for high speed transfers) when the HC is no longer running. I'm not sure whether the last one has been observed before, but both the others have been reported with "real world" audio and video code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/devio.c')
0 files changed, 0 insertions, 0 deletions