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

From: Thomas Petazzoni
Date: Tue Jan 26 2016 - 10:33:50 EST


Dear Marc Zyngier,

On Tue, 26 Jan 2016 13:52:26 +0000, Marc Zyngier 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>

Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>

(same testing as for PATCH 1/3)

Thanks a lot!

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com