LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Embedded & Single-board computer (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/)
-   -   2.6.30.1 : irq 21: nobody cared (try booting with the "irqpoll" option) (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/2-6-30-1-irq-21-nobody-cared-try-booting-with-the-irqpoll-option-748905/)

zvivered 08-19-2009 10:27 PM

2.6.30.1 : irq 21: nobody cared (try booting with the "irqpoll" option)
 
My PC104 (Pentium M) is connected to a customized hardware over PCI.
This hardware creates a PCI interrupt every 2ms.
The interrupt is requested by:

rc=request_irq(21,my_handler,IRQF_SHARED,"HW",&device_id)

rc=0. The handler is called upon an interrupt. Before calling to request_irq, the /proc/interrupts does not contains a"21" entry.
After the call, there is such entry (with an interrupt counter)

After few minutes I got the error:
irq 21: nobody cared (try booting with the "irqpoll" option)
with a trace call. There is also a message that the interrupt was disabled.
21 is taken from: pci_dev->irq

According to the linux code (kernel\irq\spurious.c: line 113) this happens in case of "99,900 of the previous 100,000 have not been handled"

When I called to request_irq with IRQF_DISABLED it worked file but this causes other interrupts (e.g ethernet) to be disabled.

My handler is very small:
irqreturn_t my_handler(int irq, void *dev_id, struct pt_regs *regs)
{
data=ioread32 (address);
if (data==3)
do something
return IRQ_HANDLED;
}

The "do something" is not implemented yet.
What can be the reason for this error message ?
Thanks.


All times are GMT -5. The time now is 10:49 PM.