diff options
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/uhci-hcd.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/uhci-q.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index 6637e52736dd..d1dce2166eff 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c | |||
@@ -691,7 +691,9 @@ static int uhci_start(struct usb_hcd *hcd) | |||
691 | 691 | ||
692 | configure_hc(uhci); | 692 | configure_hc(uhci); |
693 | uhci->is_initialized = 1; | 693 | uhci->is_initialized = 1; |
694 | spin_lock_irq(&uhci->lock); | ||
694 | start_rh(uhci); | 695 | start_rh(uhci); |
696 | spin_unlock_irq(&uhci->lock); | ||
695 | return 0; | 697 | return 0; |
696 | 698 | ||
697 | /* | 699 | /* |
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index acd582c02802..d3ade4018487 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c | |||
@@ -565,7 +565,7 @@ static void uhci_unlink_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) | |||
565 | qh->unlink_frame = uhci->frame_number; | 565 | qh->unlink_frame = uhci->frame_number; |
566 | 566 | ||
567 | /* Force an interrupt so we know when the QH is fully unlinked */ | 567 | /* Force an interrupt so we know when the QH is fully unlinked */ |
568 | if (list_empty(&uhci->skel_unlink_qh->node)) | 568 | if (list_empty(&uhci->skel_unlink_qh->node) || uhci->is_stopped) |
569 | uhci_set_next_interrupt(uhci); | 569 | uhci_set_next_interrupt(uhci); |
570 | 570 | ||
571 | /* Move the QH from its old list to the end of the unlinking list */ | 571 | /* Move the QH from its old list to the end of the unlinking list */ |
@@ -1667,7 +1667,7 @@ static int uhci_advance_check(struct uhci_hcd *uhci, struct uhci_qh *qh) | |||
1667 | qh->advance_jiffies = jiffies; | 1667 | qh->advance_jiffies = jiffies; |
1668 | goto done; | 1668 | goto done; |
1669 | } | 1669 | } |
1670 | ret = 0; | 1670 | ret = uhci->is_stopped; |
1671 | } | 1671 | } |
1672 | 1672 | ||
1673 | /* The queue hasn't advanced; check for timeout */ | 1673 | /* The queue hasn't advanced; check for timeout */ |