linux/drivers/pci/controller
Inochi Amaoto e433110eb5 PCI: vmd: Override irq_startup()/irq_shutdown() in vmd_init_dev_msi_info()
Since commit 54f45a30c0 ("PCI/MSI: Add startup/shutdown for per
device domains") set callback irq_startup() and irq_shutdown() of
the struct pci_msi[x]_template, __irq_startup() will always invokes
irq_startup() callback instead of irq_enable() callback overridden
in vmd_init_dev_msi_info(). This will not start the IRQ correctly.

Also override irq_startup()/irq_shutdown() in vmd_init_dev_msi_info(),
so the irq_startup() can invoke the real logic.

Fixes: 54f45a30c0 ("PCI/MSI: Add startup/shutdown for per device domains")
Reported-by: Kenneth Crudup <kenny@panix.com>
Closes: https://lore.kernel.org/r/8a923590-5b3a-406f-a324-7bd1cf894d8f@panix.com/
Reported-by: Genes Lists <lists@sapience.com>
Closes: https://lore.kernel.org/r/4b392af8847cc19720ffcd53865f60ab3edc56b3.camel@sapience.com
Reported-by: Todd Brandt <todd.e.brandt@intel.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220658
Reported-by: Oliver Hartkopp <socketcan@hartkopp.net>
Closes: https://lore.kernel.org/r/8d6887a5-60bc-423c-8f7a-87b4ab739f6a@hartkopp.net
Reported-by: Hervé <herve@dxcv.net>
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Kenneth R. Crudup <kenny@panix.com>
Tested-by: Genes Lists <lists@sapience.com>
Tested-by: Oliver Hartkopp <socketcan@hartkopp.net>
Tested-by: Todd Brandt <todd.e.brandt@linux.intel.com>
Tested-by: Hervé <herve@dxcv.net>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20251014014607.612586-1-inochiama@gmail.com
2025-10-17 08:30:34 -05:00
..
cadence PCI: cadence: Search for MSI Capability with correct ID 2025-10-13 16:42:29 -05:00
dwc pci-v6.18-changes 2025-10-06 10:41:03 -07:00
mobiveil PCI: mobiveil: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:02 -05:00
plda PCI: plda: Remove dev_err_probe() when the errno is -ENOMEM 2025-09-08 15:44:31 +05:30
Kconfig PCI: vmd: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
Makefile
pci-aardvark.c PCI: aardvark: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:15 -05:00
pci-ftpci100.c PCI: Switch to irq_domain_create_linear() 2025-05-16 21:06:10 +02:00
pci-host-common.c pci-v6.17-changes 2025-08-01 13:59:07 -07:00
pci-host-common.h PCI: host-generic: Rename and export gen_pci_init() for PCIe controller drivers 2025-07-01 20:01:26 +05:30
pci-host-generic.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-hyperv-intf.c PCI: hv: Fix warnings for missing export.h header inclusion 2025-07-09 23:46:06 +00:00
pci-hyperv.c PCI: hv: Remove unused parameter of hv_msi_free() 2025-09-08 10:28:40 +05:30
pci-ixp4xx.c
pci-loongson.c
pci-mvebu.c PCI: mvebu: Fix use of for_each_of_range() iterator 2025-09-08 14:40:27 -05:00
pci-rcar-gen2.c
pci-tegra.c PCI: tegra: Convert struct tegra_msi mask_lock into raw spinlock 2025-09-25 18:02:30 -05:00
pci-thunder-ecam.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-thunder-pem.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-v3-semi.c
pci-versatile.c
pci-xgene-msi.c PCI: xgene-msi: Return negative -EINVAL in xgene_msi_handler_setup() 2025-08-11 16:30:43 +05:30
pci-xgene.c PCI: xgene: Drop XGENE_PCIE_IP_VER_UNKN 2025-07-22 15:33:16 -05:00
pcie-altera-msi.c PCI: altera-msi: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:15 -05:00
pcie-altera.c PCI: controller: Use dev_fwnode() instead of of_fwnode_handle() 2025-07-24 16:00:47 -05:00
pcie-apple.c PCI: apple: Add tracking of probed root ports 2025-06-30 12:29:05 -05:00
pcie-brcmstb.c Merge branch 'pci/misc' 2025-07-31 16:12:19 -05:00
pcie-hisi-error.c
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-iproc-platform.c
pcie-iproc.c
pcie-iproc.h
pcie-mediatek-gen3.c PCI: mediatek-gen3: Add support for MediaTek MT8196 SoC 2025-08-19 20:05:57 +05:30
pcie-mediatek.c PCI: mediatek: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-mt7621.c PCI: mt7621: Use helper function for_each_available_child_of_node_scoped() 2025-03-06 09:31:45 +00:00
pcie-rcar-ep.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pcie-rcar-host.c PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock 2025-09-25 18:05:12 -05:00
pcie-rcar.c
pcie-rcar.h
pcie-rockchip-ep.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pcie-rockchip-host.c Merge branch 'pci/controller/rockchip-host' 2025-07-31 16:12:17 -05:00
pcie-rockchip.c PCI: rockchip: Refactor rockchip_pcie_disable_clocks() signature 2025-01-15 18:24:12 +00:00
pcie-rockchip.h PCI: rockchip: Switch to FIELD_PREP_WM16* macros 2025-09-02 20:06:47 -04:00
pcie-xilinx-common.h
pcie-xilinx-cpm.c PCI: Switch to irq_domain_create_linear() 2025-05-16 21:06:10 +02:00
pcie-xilinx-dma-pl.c PCI: xilinx-xdma: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Fix ECAM programming 2025-09-29 16:37:23 -05:00
pcie-xilinx.c PCI: xilinx: Fix NULL pointer dereference in xilinx_pcie_intr_handler() 2025-08-12 11:31:24 -05:00
vmd.c PCI: vmd: Override irq_startup()/irq_shutdown() in vmd_init_dev_msi_info() 2025-10-17 08:30:34 -05:00