Re: irq nobody cared error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for your email. interrupt handler correctly returns IRQ_HANDLED and IRQ_NONE. I was checking the conditions for which IRQ gets disabled in spurios.c and the condition says if (desc->irqs_unhandled > 99900) disable and kill irq and that is precisely what is happening. So, from my understanding my card generates a lot of interrupts upon opening up the device and the kernel disables it.

I may be wrong in my understanding of the code. Perhaps, a kernel guy may be able to answer my questions.

Regards,

Dinesh


black hole wrote:
Hello,

On 11/1/06, *Dinesh* <dbhat@xxxxxxxxx <mailto:dbhat@xxxxxxxxx>> wrote:

    Thanks for your reply. Yes, our driver is programmed to share irqs.
    SA_SHIRQ is used.

    Dinesh


Ok, I hope this helps a little bit more :) . Did you try a possibility when your interrupt handling function always returned IRQ_HANDLED? Also, did you have a look at the source code of these kernel functions ( http://lxr.linux.no) - __do_IRQ(), handle_IRQ_event(), note_interrupt(), __report_bad_irq and misrouted_irq() ?

I think that the __report_bad_irq() function is what produces the "nobody cared" message and the note_interrupt() function is what
prints the "Disabling IRQ" message.

Just in case you would be looking for the term "spurious interrupt" -
http://en.wikipedia.org/wiki/Interrupt <http://en.wikipedia.org/wiki/Interrupt>.


BlackHole




--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux