summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci-grlib.c
diff options
context:
space:
mode:
authorMing Lei <ming.lei@canonical.com>2013-07-03 16:53:10 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-12 20:43:48 +0200
commit9118f9eb4f1e97a135de3f78853c411befcf9775 (patch)
tree1db640132f3a1dfbffbbe74ca2382c3239de8d90 /drivers/usb/host/ehci-grlib.c
parentUSB: EHCI: improve ehci_endpoint_disable (diff)
downloadlinux-9118f9eb4f1e97a135de3f78853c411befcf9775.tar.xz
linux-9118f9eb4f1e97a135de3f78853c411befcf9775.zip
USB: EHCI: improve interrupt qh unlink
ehci-hcd currently unlinks an interrupt QH when it becomes empty, that is, after its last URB completes. This works well because in almost all cases, the completion handler for an interrupt URB resubmits the URB; therefore the QH doesn't become empty and doesn't get unlinked. When we start using tasklets for URB completion, this scheme won't work as well. The resubmission won't occur until the tasklet runs, which will be some time after the completion is queued with the tasklet. During that delay, the QH will be empty and so will be unlinked unnecessarily. To prevent this problem, this patch adds a 5-ms time delay before empty interrupt QHs are unlinked. Most often, during that time the interrupt URB will be resubmitted and thus we can avoid unlinking the QH. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Ming Lei <ming.lei@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/ehci-grlib.c')
0 files changed, 0 insertions, 0 deletions