On Thu, 23 Jan 2014, Josh Bendavid wrote:

> Hi Alan,
> Is it understood why/how this always happens when the interrupt counter for
> this device reaches exactly 200001?  I would have assumed that this was a
> software counter in the kernel, in which case I don't see how this could
> correlate to a hardware bug.

The kernel keeps track of unhandled interrupts, and you get that 
"nobody cared" error when the number exceeds 99900 in a 0.1-second 
period.  But the test for this condition occurs only at intervals of 
100000 interrupts.

In any case, you can try applying the patch below.  It should print out 
some relevant information for the 100 interrupts before and after 
number 200001.  In particular, we should be able to tell whether or not 
each interrupt was handled by ohci-hcd.

Alan Stern



Index: usb-3.13/drivers/usb/host/ohci-hcd.c
===================================================================
--- usb-3.13.orig/drivers/usb/host/ohci-hcd.c
+++ usb-3.13/drivers/usb/host/ohci-hcd.c
@@ -784,6 +784,7 @@ static irqreturn_t ohci_irq (struct usb_
        struct ohci_hcd         *ohci = hcd_to_ohci (hcd);
        struct ohci_regs __iomem *regs = ohci->regs;
        int                     ints;
+       static int alancnt;
 
        /* Read interrupt status (and flush pending writes).  We ignore the
         * optimization of checking the LSB of hcca->done_head; it doesn't
@@ -791,6 +792,11 @@ static irqreturn_t ohci_irq (struct usb_
         */
        ints = ohci_readl(ohci, &regs->intrstatus);
 
+       if (++alancnt >= 199900 && alancnt < 200100)
+               ohci_info(ohci, "IRQ %d status %x enable %x\n",
+                               alancnt, ints,
+                               ohci_readl(ohci, &regs->intrenable));
+
        /* Check for an all 1's result which is a typical consequence
         * of dead, unclocked, or unplugged (CardBus...) devices
         */




--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to