linux/arch/powerpc/sysdev
Marc Zyngier 4545c6a3d6 powerpc/msi: Fix deassociation of MSI descriptors
Since 2f2940d168 ("genirq/msi: Remove filter from
msi_free_descs_free_range()"), the core MSI code relies on the
msi_desc->irq field to have been cleared before the descriptor
can be freed, as it indicates that there is no association with
a device anymore.

The irq domain code provides this guarantee, and so does s390,
which is one of the two architectures not using irq domains for
MSIs.

Powerpc, however, is missing this particular requirements,
leading in a splat and leaked MSI descriptors.

Adding the now required irq reset to the handful of powerpc backends
that implement MSIs fixes that particular problem.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net
2022-12-17 10:58:48 +00:00
..
ge powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
xics Revert "powerpc/rtas: Implement reentrant rtas call" 2022-09-14 22:43:13 +10:00
xive powerpc/xive: fix repeated words in comments 2022-09-06 11:03:04 +10:00
6xx-suspend.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpm_common.c powerpc/8xx: Don't set IMMR map anymore at boot 2020-05-26 22:22:21 +10:00
cpm_gpio.c
cpm2_pic.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
cpm2_pic.h
cpm2.c powerpc/sysdev: Fix comment typo 2022-07-28 16:22:14 +10:00
dart_iommu.c powerpc/iommu: Add missing of_node_put in iommu_init_early_dart 2022-05-22 15:58:31 +10:00
dart.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-low.S powerpc/dcr: Use cmplwi instead of 3-argument cmpli 2021-10-28 22:29:25 +11:00
dcr.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
ehv_pic.c powerpc: Add missing linux/{of.h,irqdomain.h} include directives 2021-06-10 13:09:16 +01:00
fsl_gtm.c powerpc/sysdev: fix incorrect use to determine if list is empty 2022-03-08 00:04:56 +11:00
fsl_lbc.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
fsl_mpic_err.c powerpc/sysdev: Add __init attribute to eligible functions 2021-12-23 22:33:12 +11:00
fsl_mpic_timer_wakeup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_msi.c powerpc/msi: Fix deassociation of MSI descriptors 2022-12-17 10:58:48 +00:00
fsl_msi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
fsl_pci.c powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
fsl_pci.h powerpc/fsl-pci: Fix Class Code of PCIe Root Port 2022-07-27 21:36:03 +10:00
fsl_pmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_rcpm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_rio.c powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
fsl_rio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_rmu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_soc.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
fsl_soc.h
grackle.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
i8259.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
indirect_pci.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
ipic.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
ipic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Kconfig powerpc/4xx: Remove MSI support which never worked 2021-12-09 11:52:20 +01:00
Makefile powerpc/85xx: Remove FSL_85XX_CACHE_SRAM 2022-05-22 15:58:30 +10:00
mmio_nvram.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
mpc5xxx_clocks.c powerpc/mpc5xxx: Switch mpc5xxx_get_bus_frequency() to use fwnode 2022-06-22 12:51:49 +10:00
mpic_msgr.c powerpc/sysdev: Add missing of_node_put()s 2022-09-05 17:28:27 +10:00
mpic_msi.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
mpic_timer.c powerpc: fix typos in comments 2022-05-05 22:12:44 +10:00
mpic_u3msi.c powerpc/msi: Fix deassociation of MSI descriptors 2022-12-17 10:58:48 +00:00
mpic.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
mpic.h powerpc/pasemi: Add __init attribute to eligible functions 2021-12-23 22:33:14 +11:00
msi_bitmap.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
of_rtc.c powerpc: Remove asm/prom.h from asm/mpc52xx.h and asm/pci.h 2022-07-28 16:22:12 +10:00
pmi.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
rtc_cmos_setup.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
tsi108_dev.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
tsi108_pci.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
udbg_memcons.c powerpc/sysdev: Add __init attribute to eligible functions 2021-12-23 22:33:12 +11:00