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> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html