summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ohci-hcd.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-03-12 10:41:51 +0100
committerThomas Gleixner <tglx@linutronix.de>2010-03-12 10:41:51 +0100
commit1054085e15d189e05d4d6ea7e30580c4e0b36d7f (patch)
tree6fa02cca3c1c44dcb85c1088bb25bfdb30764909 /drivers/usb/host/ohci-hcd.c
parent8fafaf5d65ba7db5d30726bb191d72be40aa0fee (diff)
parenta54476e9eae1335542ac01492934398025b3999c (diff)
downloadlwn-1054085e15d189e05d4d6ea7e30580c4e0b36d7f.tar.gz
lwn-1054085e15d189e05d4d6ea7e30580c4e0b36d7f.zip
Merge branch 'rt-2.6.33-queue' of git://dev.lemote.com/rt4ls into rt/2.6.33
Diffstat (limited to 'drivers/usb/host/ohci-hcd.c')
-rw-r--r--drivers/usb/host/ohci-hcd.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 24eb74781919..ddbc27218955 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -832,9 +832,13 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd)
}
if (ints & OHCI_INTR_WDH) {
- spin_lock (&ohci->lock);
- dl_done_list (ohci);
- spin_unlock (&ohci->lock);
+ if (ohci->hcca->done_head == 0) {
+ ints &= ~OHCI_INTR_WDH;
+ } else {
+ spin_lock (&ohci->lock);
+ dl_done_list (ohci);
+ spin_unlock (&ohci->lock);
+ }
}
if (quirk_zfmicro(ohci) && (ints & OHCI_INTR_SF)) {