]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Jul 2026 13:28:09 +0000 (15:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Jul 2026 13:28:09 +0000 (15:28 +0200)
added patches:
pci-altera-do-not-dispose-parent-irq-mapping.patch
pci-host-common-request-bus-reassignment-when-not-probe-only.patch

queue-6.1/pci-altera-do-not-dispose-parent-irq-mapping.patch [new file with mode: 0644]
queue-6.1/pci-host-common-request-bus-reassignment-when-not-probe-only.patch [new file with mode: 0644]
queue-6.1/series

diff --git a/queue-6.1/pci-altera-do-not-dispose-parent-irq-mapping.patch b/queue-6.1/pci-altera-do-not-dispose-parent-irq-mapping.patch
new file mode 100644 (file)
index 0000000..0a71b0a
--- /dev/null
@@ -0,0 +1,46 @@
+From 5ef4bac02189bee0b7c170e352d7a38e13fe9678 Mon Sep 17 00:00:00 2001
+From: Mahesh Vaidya <mahesh.vaidya@altera.com>
+Date: Thu, 30 Apr 2026 13:43:29 -0700
+Subject: PCI: altera: Do not dispose parent IRQ mapping
+
+From: Mahesh Vaidya <mahesh.vaidya@altera.com>
+
+commit 5ef4bac02189bee0b7c170e352d7a38e13fe9678 upstream.
+
+altera_pcie_irq_teardown() calls irq_dispose_mapping() on pcie->irq.
+However, pcie->irq is the parent IRQ returned by platform_get_irq(), not
+the mapping created by Altera INTx irq_domain.
+
+The Altera driver only sets the chained handler on the parent IRQ. It
+should detach that handler during teardown, but it should not dispose the
+parent IRQ mapping, which belongs to the parent interrupt controller's
+irq_domain.
+
+Drop irq_dispose_mapping(pcie->irq) from the teardown path.
+
+Note that during irqchip remove(), the child IRQs should've disposed. But
+since the chained handler itself is removed, there is no way the stale
+child IRQs (if exists) could fire. So it is safe here.
+
+Fixes: ec15c4d0d5d2 ("PCI: altera: Allow building as module")
+Signed-off-by: Mahesh Vaidya <mahesh.vaidya@altera.com>
+[mani: added a note about IRQ disposal]
+Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
+Reviewed-by: Subhransu S. Prusty <subhransu.sekhar.prusty@altera.com>
+Cc: stable@vger.kernel.org
+Link: https://patch.msgid.link/20260430204330.3121003-2-mahesh.vaidya@altera.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/pci/controller/pcie-altera.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/pci/controller/pcie-altera.c
++++ b/drivers/pci/controller/pcie-altera.c
+@@ -685,7 +685,6 @@ static void altera_pcie_irq_teardown(str
+ {
+       irq_set_chained_handler_and_data(pcie->irq, NULL, NULL);
+       irq_domain_remove(pcie->irq_domain);
+-      irq_dispose_mapping(pcie->irq);
+ }
+ static int altera_pcie_parse_dt(struct altera_pcie *pcie)
diff --git a/queue-6.1/pci-host-common-request-bus-reassignment-when-not-probe-only.patch b/queue-6.1/pci-host-common-request-bus-reassignment-when-not-probe-only.patch
new file mode 100644 (file)
index 0000000..64f0f50
--- /dev/null
@@ -0,0 +1,47 @@
+From fda8749ba73638f5bbca3ffb39bc6861eb3b23fa Mon Sep 17 00:00:00 2001
+From: Ratheesh Kannoth <rkannoth@marvell.com>
+Date: Tue, 14 Apr 2026 13:47:30 +0530
+Subject: PCI: host-common: Request bus reassignment when not probe-only
+
+From: Ratheesh Kannoth <rkannoth@marvell.com>
+
+commit fda8749ba73638f5bbca3ffb39bc6861eb3b23fa upstream.
+
+pci_host_common_init() is used by several generic ECAM host drivers.
+After PCI core changes around pci_flags and preserve_config, these hosts
+no longer opted into full bus number reassignment the way they did
+before, which broke enumeration of devices on a Marvell CN106XX board.
+
+When PCI_PROBE_ONLY is not set, add PCI_REASSIGN_ALL_BUS so
+pci_scan_bridge_extend() takes the reassignment path: bus numbers can be
+assigned from firmware EA data (e.g. pci_ea_fixed_busnrs()). Skip the
+flag in probe-only mode so existing assignments are not overridden.
+
+Fixes: 7246a4520b4b ("PCI: Use preserve_config in place of pci_flags")
+Closes: https://lore.kernel.org/all/abkqm_LCd9zAM8cW@rkannoth-OptiPlex-7090/
+Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
+[mani: added stable tag]
+Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
+[bhelgaas: add problem report link]
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Cc: stable@vger.kernel.org
+Cc: Vidya Sagar <vidyas@nvidia.com>
+Link: https://patch.msgid.link/20260414081730.3864372-1-rkannoth@marvell.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/pci/controller/pci-host-common.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/pci/controller/pci-host-common.c
++++ b/drivers/pci/controller/pci-host-common.c
+@@ -77,6 +77,10 @@ int pci_host_common_probe(struct platfor
+       if (!pci_has_flag(PCI_PROBE_ONLY))
+               pci_add_flags(PCI_REASSIGN_ALL_BUS);
++      /* Do not reassign bus numbers if probe only */
++      if (!pci_has_flag(PCI_PROBE_ONLY))
++              pci_add_flags(PCI_REASSIGN_ALL_BUS);
++
+       bridge->sysdata = cfg;
+       bridge->ops = (struct pci_ops *)&ops->pci_ops;
+       bridge->msi_domain = true;
index bda301a7e863f7556d5ac9c256afc64d93b2cea9..70aa7314dd6bed14989ae1e683a5b5e2a3393880 100644 (file)
@@ -91,3 +91,5 @@ bluetooth-btusb-fix-wakeup-source-leak-on-probe-failure.patch
 binder-fix-uaf-in-binder_thread_release.patch
 binder-fix-uaf-in-binder_free_transaction.patch
 usb-xhci-fix-sleep-in-atomic-context-in-xhci_free_streams.patch
+pci-altera-do-not-dispose-parent-irq-mapping.patch
+pci-host-common-request-bus-reassignment-when-not-probe-only.patch