Re: [PATCH 2/3] of: MSI: Simplify irqdomain lookup

From: Rob Herring
Date: Tue Jan 26 2016 - 09:49:58 EST


On Tue, Jan 26, 2016 at 7:52 AM, Marc Zyngier <marc.zyngier@xxxxxxx> wrote:
> So far, when trying to associate a device with its MSI domain,
> we first lookup the domain using a MSI token, and if this
> doesn't return anything useful, we pick up any domain matching
> the same node.
>
> This logic is broken for two reasons:
> 1) Only the generic MSI code (PCI or platform) sets this token
> to PCI/MSI or platform MSI. So we're guaranteed that if there
> is something to be found, we will find it with the first call.
> 2) If we have a convoluted situation where:
> - a single node implements both wired and MSI interrupts
> - MSI support for that HW hasn't been compiled in
> we'll end up using the wired domain for MSIs anyway, and things
> break badly.
>
> So let's just remove __of_get_msi_domain, and replace it by a direct
> call to irq_find_matching_host, because that's what we really want.
>
> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
> ---
> drivers/of/irq.c | 18 +++---------------
> 1 file changed, 3 insertions(+), 15 deletions(-)

Acked-by: Rob Herring <robh@xxxxxxxxxx>