diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-03-12 10:41:51 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-03-12 10:41:51 +0100 |
commit | 1054085e15d189e05d4d6ea7e30580c4e0b36d7f (patch) | |
tree | 6fa02cca3c1c44dcb85c1088bb25bfdb30764909 /drivers/usb/host/ohci-hcd.c | |
parent | 8fafaf5d65ba7db5d30726bb191d72be40aa0fee (diff) | |
parent | a54476e9eae1335542ac01492934398025b3999c (diff) | |
download | lwn-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.c | 10 |
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)) { |