Re: IRQ_HANDLED related query

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

 



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
-- 
Thomas Petazzoni - thomas.petazzoni@xxxxxxxx
http://{thomas,sos,kos}.enix.org - http://www.toulibre.org
http://www.{livret,agenda}dulibre.org

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