RE: [PATCH] PCI: pcie-rcar: Fix OF node passed to MSI irq domain

From: Phil Edworthy
Date: Mon Nov 09 2015 - 10:20:36 EST


cc'ing others (Tegra, Altera, Designware) who may have the same bug

On 03 November 2015 09:28, Phil Edworthy wrote:
> The OF node passed to irq_domain_add_linear() should be a
> pointer to interrupt controller's device tree node, or NULL,
> but not the PCI controller's node.
>
> This fixes an oops in msi_domain_alloc_irqs() when it tries
> to call msi_check().
>
> Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx>
> ---
> drivers/pci/host/pcie-rcar.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c
> index 2377bf0..c6fa562 100644
> --- a/drivers/pci/host/pcie-rcar.c
> +++ b/drivers/pci/host/pcie-rcar.c
> @@ -709,7 +709,7 @@ static int rcar_pcie_enable_msi(struct rcar_pcie *pcie)
> msi->chip.setup_irq = rcar_msi_setup_irq;
> msi->chip.teardown_irq = rcar_msi_teardown_irq;
>
> - msi->domain = irq_domain_add_linear(pcie->dev->of_node,
> INT_PCI_MSI_NR,
> + msi->domain = irq_domain_add_linear(NULL, INT_PCI_MSI_NR,
> &msi_domain_ops, &msi->chip);
> if (!msi->domain) {
> dev_err(&pdev->dev, "failed to create IRQ domain\n");
> --
> 1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/