[lkml]   [2015]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] genirq: Only call irq_ack if implemented by chip
On Wed, 15 Apr 2015, Adrian-Ken Rueegsegger wrote:
> To support PCI MSI(-X), we register our own platform-specific MSI
> operations (x86_msi.setup_msi_irqs, etc) and implement an irq_chip that
> simply provides the irq_mask and irq_unmask operations (by reusing the
> "regular" mask_msi_irq/unmask_msi_irq).

But why are you using the edge flow handler then?

> After encountering a null pointer dereference due to the irq_chip not
> providing an irq_ack operation, I examined the commit that changed the
> source of the irq_ack call, noticing that only the check in
> handle_edge_irq was dropped while the other call sites were kept. As the
> commit message did not provide me with additional information for that
> particular fragment of the change, I (prematurely) concluded that it was
> not intentional.
> If it is a prerequisite for IRQ chips to provide the irq_ack operation
> when used in conjunction with handle_edge_irq, then please ignore my
> patch. In that case, I will adjust our chip implementation
> accordingly.

Yes, it is more or less. And I really want to avoid the extra
conditional in the handler hotpath.


 \ /
  Last update: 2015-04-21 15:01    [W:0.075 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site