aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci-q.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-23 16:32:51 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-23 16:32:51 -0400
commitc04ee4b1136e462722567cf6e76bb35a181574a7 (patch)
tree58dbc5ad8be3e1eae398ee463f8a11ac84662487 /drivers/usb/host/ehci-q.c
parentdc4fea795bf7e3f80dbfa3a40b8ab89427e9aed5 (diff)
Revert "Revert "USB: EHCI: support running URB giveback in tasklet context""
This reverts commit 3b8d7321ed4b8511e17048303b806ffcc2806077, which brings back commit 428aac8a81058e2303677a8fbf26670229e51d3a as it should be working for the 3.13-rc1 merge window now that Alan's other fixes are here in the tree already. Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Ming Lei <ming.lei@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/ehci-q.c')
-rw-r--r--drivers/usb/host/ehci-q.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
index a7f776a13eb1..e321804c3475 100644
--- a/drivers/usb/host/ehci-q.c
+++ b/drivers/usb/host/ehci-q.c
@@ -247,8 +247,6 @@ static int qtd_copy_status (
247 247
248static void 248static void
249ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) 249ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status)
250__releases(ehci->lock)
251__acquires(ehci->lock)
252{ 250{
253 if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) { 251 if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) {
254 /* ... update hc-wide periodic stats */ 252 /* ... update hc-wide periodic stats */
@@ -274,11 +272,8 @@ __acquires(ehci->lock)
274 urb->actual_length, urb->transfer_buffer_length); 272 urb->actual_length, urb->transfer_buffer_length);
275#endif 273#endif
276 274
277 /* complete() can reenter this HCD */
278 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); 275 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb);
279 spin_unlock (&ehci->lock);
280 usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); 276 usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status);
281 spin_lock (&ehci->lock);
282} 277}
283 278
284static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh); 279static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh);