Re: IRQ_HANDLED related query

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

 



Oh yes, sorry forgot to mention that. IRQ_NONE is returned as well.

Thanks,

Dinesh

Thomas Petazzoni wrote:
Hi,

Le Wed, 25 Oct 2006 14:03:50 -0500,
Dinesh <dbhat@xxxxxxxxx> a écrit :


Our PCI drivers work alright on most of the systems with different
Linux flavours. On 2.6.17 and above systems, when our PCI device
shares irq with other devices, kernel generates irq 12: nobody cared
errors. Our driver implements irq_handler method and returns
IRQ_HANDLED. We are trying to reproduce the problem. However, on the
machines we are testing it, irq is not being shared. Thus, we do not
see a similar behavior.


<disclaimer> The following is the result of some random readings of
documentation about the kernel. May be completely true, completely
false, or any variation in between. </disclaimer>

If the interrupt is shared, I think that your interrupt handler must
check if the interrupt was for him. If not, it should return IRQ_NONE,
if yes, it should return IRQ_HANDLED. If you always return IRQ_HANDLED,
then the IRQ sharing mechanism won't work.

See page 15 and page 21 of http://lwn.net/images/pdf/LDD3/ch10.pdf.

Sincerly,

Thomas



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