mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 04:23:35 +02:00
PCI: rcar-host: Pass proper IRQ domain to generic_handle_domain_irq()
Starting with commitdd26c1a23f("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:dd26c1a23f("PCI: rcar-host: Switch to msi_create_parent_irq_domain()") Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> [mani: reworded subject and description] Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://lore.kernel.org/all/20250704161410.3931884-6-claudiu.beznea.uj@bp.renesas.com Link: https://patch.msgid.link/20250809144447.3939284-1-claudiu.beznea.uj@bp.renesas.com
This commit is contained in:
parent
8f5ae30d69
commit
d3fee10e40
|
|
@ -584,7 +584,7 @@ static irqreturn_t rcar_pcie_msi_irq(int irq, void *data)
|
|||
unsigned int index = find_first_bit(®, 32);
|
||||
int ret;
|
||||
|
||||
ret = generic_handle_domain_irq(msi->domain->parent, index);
|
||||
ret = generic_handle_domain_irq(msi->domain, index);
|
||||
if (ret) {
|
||||
/* Unknown MSI, just clear it */
|
||||
dev_dbg(dev, "unexpected MSI\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user