From: Greg Kroah-Hartman Date: Wed, 7 May 2025 09:14:46 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v5.15.182~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e1baefab22187c1f31e940f03645b710d7040352;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch --- diff --git a/queue-5.15/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch b/queue-5.15/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch new file mode 100644 index 0000000000..7e782f94c0 --- /dev/null +++ b/queue-5.15/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch @@ -0,0 +1,48 @@ +From f068ffdd034c93f0c768acdc87d4d2d7023c1379 Mon Sep 17 00:00:00 2001 +From: Richard Zhu +Date: Tue, 26 Nov 2024 15:56:56 +0800 +Subject: PCI: imx6: Skip controller_id generation logic for i.MX7D +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Richard Zhu + +commit f068ffdd034c93f0c768acdc87d4d2d7023c1379 upstream. + +The i.MX7D only has one PCIe controller, so controller_id should always be +0. The previous code is incorrect although yielding the correct result. + +Fix by removing "IMX7D" from the switch case branch. + +Fixes: 2d8ed461dbc9 ("PCI: imx6: Add support for i.MX8MQ") +Link: https://lore.kernel.org/r/20241126075702.4099164-5-hongxing.zhu@nxp.com +Signed-off-by: Richard Zhu +Signed-off-by: Krzysztof Wilczyński +Signed-off-by: Bjorn Helgaas +Reviewed-by: Manivannan Sadhasivam +Reviewed-by: Frank Li +[Because this switch case does more than just controller_id + logic, move the "IMX7D" case label instead of removing it entirely.] +Signed-off-by: Ryan Matthews +Signed-off-by: Greg Kroah-Hartman +--- + drivers/pci/controller/dwc/pci-imx6.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/drivers/pci/controller/dwc/pci-imx6.c ++++ b/drivers/pci/controller/dwc/pci-imx6.c +@@ -1070,11 +1070,10 @@ static int imx6_pcie_probe(struct platfo + if (IS_ERR(imx6_pcie->pcie_aux)) + return dev_err_probe(dev, PTR_ERR(imx6_pcie->pcie_aux), + "pcie_aux clock source missing or invalid\n"); +- fallthrough; +- case IMX7D: + if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) + imx6_pcie->controller_id = 1; +- ++ fallthrough; ++ case IMX7D: + imx6_pcie->pciephy_reset = devm_reset_control_get_exclusive(dev, + "pciephy"); + if (IS_ERR(imx6_pcie->pciephy_reset)) { diff --git a/queue-5.15/series b/queue-5.15/series index 6d4f073e4d..c3d3b2bf3b 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -39,3 +39,4 @@ net-hns3-add-support-for-external-loopback-test.patch net-hns3-fix-an-interrupt-residual-problem.patch net-hns3-fixed-debugfs-tm_qset-size.patch net-hns3-defer-calling-ptp_clock_register.patch +pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch