diff options
Diffstat (limited to 'drivers/usb/core/hcd.c')
-rw-r--r-- | drivers/usb/core/hcd.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index e658089f7b..afa2dd2033 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c | |||
@@ -522,7 +522,7 @@ error: | |||
522 | if (urb->status == -EINPROGRESS) | 522 | if (urb->status == -EINPROGRESS) |
523 | urb->status = status; | 523 | urb->status = status; |
524 | spin_unlock (&urb->lock); | 524 | spin_unlock (&urb->lock); |
525 | usb_hcd_giveback_urb (hcd, urb, NULL); | 525 | usb_hcd_giveback_urb (hcd, urb); |
526 | local_irq_restore (flags); | 526 | local_irq_restore (flags); |
527 | return 0; | 527 | return 0; |
528 | } | 528 | } |
@@ -572,7 +572,7 @@ void usb_hcd_poll_rh_status(struct usb_hcd *hcd) | |||
572 | 572 | ||
573 | /* local irqs are always blocked in completions */ | 573 | /* local irqs are always blocked in completions */ |
574 | if (length > 0) | 574 | if (length > 0) |
575 | usb_hcd_giveback_urb (hcd, urb, NULL); | 575 | usb_hcd_giveback_urb (hcd, urb); |
576 | else | 576 | else |
577 | hcd->poll_pending = 1; | 577 | hcd->poll_pending = 1; |
578 | local_irq_restore (flags); | 578 | local_irq_restore (flags); |
@@ -656,7 +656,7 @@ static int usb_rh_urb_dequeue (struct usb_hcd *hcd, struct urb *urb) | |||
656 | urb = NULL; /* wasn't fully queued */ | 656 | urb = NULL; /* wasn't fully queued */ |
657 | spin_unlock (&hcd_root_hub_lock); | 657 | spin_unlock (&hcd_root_hub_lock); |
658 | if (urb) | 658 | if (urb) |
659 | usb_hcd_giveback_urb (hcd, urb, NULL); | 659 | usb_hcd_giveback_urb (hcd, urb); |
660 | local_irq_restore (flags); | 660 | local_irq_restore (flags); |
661 | } | 661 | } |
662 | 662 | ||
@@ -1498,7 +1498,6 @@ EXPORT_SYMBOL (usb_bus_start_enum); | |||
1498 | * usb_hcd_giveback_urb - return URB from HCD to device driver | 1498 | * usb_hcd_giveback_urb - return URB from HCD to device driver |
1499 | * @hcd: host controller returning the URB | 1499 | * @hcd: host controller returning the URB |
1500 | * @urb: urb being returned to the USB device driver. | 1500 | * @urb: urb being returned to the USB device driver. |
1501 | * @regs: pt_regs, passed down to the URB completion handler | ||
1502 | * Context: in_interrupt() | 1501 | * Context: in_interrupt() |
1503 | * | 1502 | * |
1504 | * This hands the URB from HCD to its USB device driver, using its | 1503 | * This hands the URB from HCD to its USB device driver, using its |
@@ -1507,7 +1506,7 @@ EXPORT_SYMBOL (usb_bus_start_enum); | |||
1507 | * the device driver won't cause problems if it frees, modifies, | 1506 | * the device driver won't cause problems if it frees, modifies, |
1508 | * or resubmits this URB. | 1507 | * or resubmits this URB. |
1509 | */ | 1508 | */ |
1510 | void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs) | 1509 | void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb) |
1511 | { | 1510 | { |
1512 | int at_root_hub; | 1511 | int at_root_hub; |
1513 | 1512 | ||
@@ -1534,7 +1533,7 @@ void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs | |||
1534 | 1533 | ||
1535 | usbmon_urb_complete (&hcd->self, urb); | 1534 | usbmon_urb_complete (&hcd->self, urb); |
1536 | /* pass ownership to the completion handler */ | 1535 | /* pass ownership to the completion handler */ |
1537 | urb->complete (urb, regs); | 1536 | urb->complete (urb); |
1538 | atomic_dec (&urb->use_count); | 1537 | atomic_dec (&urb->use_count); |
1539 | if (unlikely (urb->reject)) | 1538 | if (unlikely (urb->reject)) |
1540 | wake_up (&usb_kill_urb_queue); | 1539 | wake_up (&usb_kill_urb_queue); |
@@ -1553,7 +1552,7 @@ EXPORT_SYMBOL (usb_hcd_giveback_urb); | |||
1553 | * If the controller isn't HALTed, calls the driver's irq handler. | 1552 | * If the controller isn't HALTed, calls the driver's irq handler. |
1554 | * Checks whether the controller is now dead. | 1553 | * Checks whether the controller is now dead. |
1555 | */ | 1554 | */ |
1556 | irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r) | 1555 | irqreturn_t usb_hcd_irq (int irq, void *__hcd) |
1557 | { | 1556 | { |
1558 | struct usb_hcd *hcd = __hcd; | 1557 | struct usb_hcd *hcd = __hcd; |
1559 | int start = hcd->state; | 1558 | int start = hcd->state; |
@@ -1561,7 +1560,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r) | |||
1561 | if (unlikely(start == HC_STATE_HALT || | 1560 | if (unlikely(start == HC_STATE_HALT || |
1562 | !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) | 1561 | !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) |
1563 | return IRQ_NONE; | 1562 | return IRQ_NONE; |
1564 | if (hcd->driver->irq (hcd, r) == IRQ_NONE) | 1563 | if (hcd->driver->irq (hcd) == IRQ_NONE) |
1565 | return IRQ_NONE; | 1564 | return IRQ_NONE; |
1566 | 1565 | ||
1567 | set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); | 1566 | set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); |