Skip to content

Commit d3fee10

Browse files
claudiubezneaMani-Sadhasivam
authored andcommitted
PCI: rcar-host: Pass proper IRQ domain to generic_handle_domain_irq()
Starting with commit dd26c1a ("PCI: rcar-host: Switch to msi_create_parent_irq_domain()"), the MSI parent IRQ domain is NULL because the object of type struct irq_domain_info passed to: msi_create_parent_irq_domain() -> irq_domain_instantiate()() -> __irq_domain_instantiate() has no reference to the parent IRQ domain. Using msi->domain->parent as an argument for generic_handle_domain_irq() leads to below error: "Unable to handle kernel NULL pointer dereference at virtual address" This error was identified while switching the upcoming RZ/G3S PCIe host controller driver to msi_create_parent_irq_domain() (which was using a similar pattern to handle MSIs (see link section)), but it was not tested on hardware using the pcie-rcar-host controller driver due to lack of hardware. Fixes: dd26c1a ("PCI: rcar-host: Switch to msi_create_parent_irq_domain()") Signed-off-by: Claudiu Beznea <[email protected]> [mani: reworded subject and description] Signed-off-by: Manivannan Sadhasivam <[email protected]> Reviewed-by: Nam Cao <[email protected]> Link: https://lore.kernel.org/all/[email protected] Link: https://patch.msgid.link/[email protected]
1 parent 8f5ae30 commit d3fee10

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/pci/controller/pcie-rcar-host.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ static irqreturn_t rcar_pcie_msi_irq(int irq, void *data)
584584
unsigned int index = find_first_bit(&reg, 32);
585585
int ret;
586586

587-
ret = generic_handle_domain_irq(msi->domain->parent, index);
587+
ret = generic_handle_domain_irq(msi->domain, index);
588588
if (ret) {
589589
/* Unknown MSI, just clear it */
590590
dev_dbg(dev, "unexpected MSI\n");

0 commit comments

Comments
 (0)