> The ohci_writel call near the end is supposed to clear the RHSC > interrupt-enable bit. You can tell whether it worked by printing out > the value of > > ohci_readl(ohci, ®s->intrenable) & OHCI_INTR_RHSC > > immediately afterward. returns 0 always. > The earlier ohci_writel call is supposed to clear the RHSC > interrupt-status bit. You can test whether that worked by printing out > > ohci_readl(ohci, ®s->intrstatus) & OHCI_INTR_RHSC returns 64 always (seems to be OHCI_INTR_RHSC). > In addition, you should take a look at ohci_rhsc_enable() in > ohci-hub.c. That's the place where RHSC interrupts get re-enabled, so > make sure it isn't getting called by mistake. It seems to be always called from usb_enable_root_hub_irq: Call Trace: [0000000000455dec] warn_slowpath+0x6c/0xa0 [0000000010052404] ohci_rhsc_enable+0x24/0x80 [ohci_hcd] [0000000010015978] usb_enable_root_hub_irq+0x38/0x60 [usbcore] [0000000010015308] hub_thread+0xe48/0x1340 [usbcore] [000000000046e36c] kthread+0x4c/0x80 [000000000042723c] kernel_thread+0x3c/0x60 [000000000046e2a8] kthreadd+0x168/0x1e0 -- Meelis Roos (mroos@xxxxx) http://www.cs.ut.ee/~mroos/ -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html