aboutsummaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2009-07-31 10:40:22 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-08-07 16:05:13 -0700
commit7a0f0d951273eee889c2441846842348ebc00a2a (patch)
tree268d5316e3c3d3bd0957d39d4233036790736965 /samples
parent01105a246345f011fde64d24a601090b646e9e4c (diff)
USB: EHCI: fix two new bugs related to Clear-TT-Buffer
This patch (as1273) fixes two(!) bugs introduced by the new Clear-TT-Buffer implementation in ehci-hcd. It is now possible for an idle QH to have some URBs on its queue -- this will happen if a Clear-TT-Buffer is pending for the QH's endpoint. Consequently we should not issue a warning when someone tries to unlink an URB from an idle QH; instead we should process the request immediately. The refcounts for QHs could get messed up, because submit_async() would increment the refcount when calling qh_link_async() and qh_link_async() would then refuse to link the QH into the schedule if a Clear-TT-Buffer was pending. Instead we should increment the refcount only when the QH actually is added to the schedule. The current code tries to be clever by leaving the refcount alone if an unlink is immediately followed by a relink; the patch changes this to an unconditional decrement and increment (although they occur in the opposite order). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> CC: David Brownell <david-b@pacbell.net> Tested-by: Manuel Lauss <manuel.lauss@gmail.com> Tested-by: Matthijs Kooijman <matthijs@stdin.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'samples')
0 files changed, 0 insertions, 0 deletions