[PATCH] USB: EHCI unlink tweaks
authorDavid Brownell <david-b@pacbell.net>
Fri, 20 Jan 2006 22:35:55 +0000 (14:35 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Mar 2006 22:49:55 +0000 (14:49 -0800)
commitd0852299381326c5d8eb67771aa98108050e6901
treee4965e920fceeada861e5722228eb4472627c991
parentd5fb7f1b5b832946eaf450b2a695ec3e7fd2d351
[PATCH] USB: EHCI unlink tweaks

This patch modifies the behavior of the EHCI driver in an unlink path
that seems to be causing various issues on some systems.  Those problems
have included issues with disconnection, driver unbinding, and similar
cases where urb unlinking would just not work right.

This patch should help avoid those problems by not turning off the async
(control/bulk) schedule until it's not expecting an "async advance" IRQ,
which comes from the processing passing the schedule head.  Whether the
driver attempts to do such things is dependent on system timings, so
many folk would never have seen these problems.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-q.c