[PATCH 2/2] usb: Remove OHCI useless masking/unmasking of WDH interrupt

David Brownell david-b at pacbell.net
Fri Dec 7 08:29:46 EST 2007


From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Subject: [PATCH 2/2] usb: Remove OHCI useless masking/unmasking of WDH interrupt

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 at kernel.crashing.org>
Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
---
Worth IMO holding till 2.6.25-early.

--- g26.orig/drivers/usb/host/ohci-hcd.c	2007-12-06 08:42:24.000000000 -0800
+++ g26/drivers/usb/host/ohci-hcd.c	2007-12-06 08:42:29.000000000 -0800
@@ -807,13 +807,9 @@ static irqreturn_t ohci_irq (struct usb_
 	}
 
 	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)) {



More information about the Linuxppc-dev mailing list