aboutsummaryrefslogtreecommitdiff
path: root/lib/string_helpers.c
diff options
context:
space:
mode:
authorSergei Shtylyov <[email protected]>2009-02-21 15:30:45 -0800
committerGreg Kroah-Hartman <[email protected]>2009-02-27 14:40:51 -0800
commita2fd814e6a9e172f7077b68a2a9391bbde777a92 (patch)
tree1ac5659086a835b9935927621c72799f9d17f989 /lib/string_helpers.c
parentb7bdcb79de6de32e40dcc85a5e8c669bec2483d5 (diff)
USB: musb: fix urb_dequeue() method
The urb_dequeue() method forgets to unlink 'struct musb_qh' from the control or bulk schedules when the URB being cancelled is the only one queued to its endpoint. That will cause musb_advance_schedule() to block once it reaches 'struct musb_qh' with now empty URB list, so URBs queued for other endpoints after the one being dequeued will not be served. Fix by unlinking the QH from the list except when it's already being handled (typically by musb_giveback). Since a QH with an empty URB list is now supposed to be freed, do that. And remove a now-useless check from musb_advance_schedule(). [ [email protected]: update patch description, and fold in a dequeue() comment patch ] Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: David Brownell <[email protected]> Cc: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions