kernel_samsung_a53x/drivers/pci
qizhong cheng 559e1b1867 PCI: mediatek: Clear interrupt status before dispatching handler
[ Upstream commit 4e11c29873a8a296a20f99b3e03095e65ebf897d ]

We found a failure when using the iperf tool during WiFi performance
testing, where some MSIs were received while clearing the interrupt
status, and these MSIs cannot be serviced.

The interrupt status can be cleared even if the MSI status remains pending.
As such, given the edge-triggered interrupt type, its status should be
cleared before being dispatched to the handler of the underling device.

[kwilczynski: commit log, code comment wording]
Link: https://lore.kernel.org/linux-pci/20231211094923.31967-1-jianjun.wang@mediatek.com
Fixes: 43e6409db64d ("PCI: mediatek: Add MSI support for MT2712 and MT7622")
Signed-off-by: qizhong cheng <qizhong.cheng@mediatek.com>
Signed-off-by: Jianjun Wang <jianjun.wang@mediatek.com>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
[bhelgaas: rewrap comment]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc:  <stable@vger.kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 12:12:54 +01:00
..
controller PCI: mediatek: Clear interrupt status before dispatching handler 2024-11-18 12:12:54 +01:00
endpoint Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hotplug Revert "PCI: acpiphp: Reassign resources on bridge if necessary" 2024-11-18 12:11:50 +01:00
pcie PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common() 2024-11-18 11:43:22 +01:00
switch Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
access.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ats.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ecam.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
host-bridge.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
iov.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
of.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
p2pdma.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-acpi.c PCI/sysfs: Protect driver's D3cold preference from user space 2024-11-18 11:43:21 +01:00
pci-bridge-emul.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-bridge-emul.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-driver.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-label.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-mid.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-pf-stub.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-stub.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-sysfs.c PCI/sysfs: Protect driver's D3cold preference from user space 2024-11-18 11:43:21 +01:00
pci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
probe.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
quirks.c PCI: Add ACS quirk for more Zhaoxin Root Ports 2024-11-18 12:12:19 +01:00
remove.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rom.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
search.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
setup-bus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
setup-irq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
setup-res.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
slot.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
syscall.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vpd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xen-pcifront.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00