|
@@ -247,8 +247,6 @@ static int qtd_copy_status (
|
|
|
|
|
|
static void
|
|
|
ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status)
|
|
|
-__releases(ehci->lock)
|
|
|
-__acquires(ehci->lock)
|
|
|
{
|
|
|
if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) {
|
|
|
/* ... update hc-wide periodic stats */
|
|
@@ -274,11 +272,8 @@ __acquires(ehci->lock)
|
|
|
urb->actual_length, urb->transfer_buffer_length);
|
|
|
#endif
|
|
|
|
|
|
- /* complete() can reenter this HCD */
|
|
|
usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb);
|
|
|
- spin_unlock (&ehci->lock);
|
|
|
usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status);
|
|
|
- spin_lock (&ehci->lock);
|
|
|
}
|
|
|
|
|
|
static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh);
|