linux/drivers/pci/controller
Pali Rohár d789b98917 PCI: aardvark: Fix reading MSI interrupt number
commit 805dfc18dd3d4dd97a987d4406593b5a225b1253 upstream.

In advk_pcie_handle_msi() it is expected that when bit i in the W1C
register PCIE_MSI_STATUS_REG is cleared, the PCIE_MSI_PAYLOAD_REG is
updated to contain the MSI number corresponding to index i.

Experiments show that this is not so, and instead PCIE_MSI_PAYLOAD_REG
always contains the number of the last received MSI, overall.

Do not read PCIE_MSI_PAYLOAD_REG register for determining MSI interrupt
number. Since Aardvark already forbids more than 32 interrupts and uses
own allocated hwirq numbers, the msi_idx already corresponds to the
received MSI number.

Link: https://lore.kernel.org/r/20220110015018.26359-3-kabel@kernel.org
Fixes: 8c39d71036 ("PCI: aardvark: Add Aardvark PCI host controller driver")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-12 12:23:50 +02:00
..
dwc
Kconfig
Makefile
pci-aardvark.c PCI: aardvark: Fix reading MSI interrupt number 2022-05-12 12:23:50 +02:00
pci-ftpci100.c
pci-host-common.c
pci-host-generic.c
pci-hyperv-intf.c
pci-hyperv.c PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() 2021-07-14 16:53:18 +02:00
pci-mvebu.c PCI: pci-bridge-emul: Correctly set PCIe capabilities 2022-01-27 09:19:50 +01:00
pci-rcar-gen2.c
pci-tegra.c PCI: tegra: Add missing MODULE_DEVICE_TABLE 2021-07-20 16:10:47 +02:00
pci-thunder-ecam.c PCI: thunder: Fix compile testing 2021-05-22 11:38:28 +02:00
pci-thunder-pem.c PCI: thunder: Fix compile testing 2021-05-22 11:38:28 +02:00
pci-v3-semi.c
pci-versatile.c
pci-xgene-msi.c PCI: xgene-msi: Fix race in installing chained irq handler 2021-03-17 17:03:44 +01:00
pci-xgene.c
pcie-altera-msi.c
pcie-altera.c
pcie-cadence-ep.c
pcie-cadence-host.c
pcie-cadence.c
pcie-cadence.h
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc: Support multi-MSI only on uniprocessor kernel 2021-07-20 16:10:50 +02:00
pcie-iproc-platform.c
pcie-iproc.c
pcie-iproc.h
pcie-mediatek.c PCI: mediatek: Add missing of_node_put() to fix reference leak 2021-03-17 17:03:44 +01:00
pcie-mobiveil.c
pcie-rcar.c
pcie-rockchip-ep.c
pcie-rockchip-host.c
pcie-rockchip.c
pcie-rockchip.h
pcie-tango.c
pcie-xilinx-nwl.c PCI: xilinx-nwl: Enable the clock through CCF 2021-09-22 12:26:22 +02:00
pcie-xilinx.c
vmd.c