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. |