usb: Remove OHCI useless masking/unmasking of WDH interrupt
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 6 Dec 2007 21:29:46 +0000 (13:29 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Feb 2008 22:34:53 +0000 (14:34 -0800)
The OHCI driver's IRQ handler, while processing a WDH interrupt, masks
and unmasks it.  I believe this is both broken (the write may still be
posted during the donelist processing it's trying to safeguard) and
useless as this IRQ may not be reissued until it's acked (unless this
legacy code is an uncommented workaround for some chip erratum).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ohci-hcd.c

index baca09af60765b3e2c6bc5a6df17e19fd37a6fba..8dd5d25f2f06cde9ad82af104315ff3978447748 100644 (file)
@@ -810,13 +810,9 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd)
        }
 
        if (ints & OHCI_INTR_WDH) {
-               if (HC_IS_RUNNING(hcd->state))
-                       ohci_writel (ohci, OHCI_INTR_WDH, &regs->intrdisable);
                spin_lock (&ohci->lock);
                dl_done_list (ohci);
                spin_unlock (&ohci->lock);
-               if (HC_IS_RUNNING(hcd->state))
-                       ohci_writel (ohci, OHCI_INTR_WDH, &regs->intrenable);
        }
 
        if (quirk_zfmicro(ohci) && (ints & OHCI_INTR_SF)) {