Commit 3f69f2e7 authored by Nam Cao's avatar Nam Cao Committed by Bjorn Helgaas
Browse files

PCI: xilinx: Fix NULL pointer dereference in xilinx_pcie_intr_handler()



f29861aa ("PCI: xilinx: Switch to msi_create_parent_irq_domain()")
changed xilinx_pcie::msi_domain from child devices' interrupt domain to
Xilinx AXI bridge's interrupt domain.

However, xilinx_pcie_intr_handler() wasn't changed and still reads Xilinx
AXI bridge's interrupt domain from xilinx_pcie::msi_domain->parent. This
pointer is NULL now.

Update xilinx_pcie_intr_handler() to read the correct interrupt domain
pointer.

Fixes: f29861aa ("PCI: xilinx: Switch to msi_create_parent_irq_domain()")
Signed-off-by: default avatarNam Cao <namcao@linutronix.de>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20250811054144.4049448-1-namcao@linutronix.de
parent 8f5ae30d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -400,7 +400,7 @@ static irqreturn_t xilinx_pcie_intr_handler(int irq, void *data)
		if (val & XILINX_PCIE_RPIFR1_MSI_INTR) {
			val = pcie_read(pcie, XILINX_PCIE_REG_RPIFR2) &
				XILINX_PCIE_RPIFR2_MSG_DATA;
			domain = pcie->msi_domain->parent;
			domain = pcie->msi_domain;
		} else {
			val = (val & XILINX_PCIE_RPIFR1_INTR_MASK) >>
				XILINX_PCIE_RPIFR1_INTR_SHIFT;