From: Greg Kroah-Hartman Date: Wed, 7 May 2025 09:14:33 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v5.15.182~45 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6275d336b4a94232382457f7940af7b827cb2d4c;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch --- diff --git a/queue-5.10/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch b/queue-5.10/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch new file mode 100644 index 0000000000..98ef5735d1 --- /dev/null +++ b/queue-5.10/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 +@@ -1092,11 +1092,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.10/series b/queue-5.10/series index 5ea5be731c..bbe0ee96aa 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -26,3 +26,4 @@ bnxt_en-fix-ethtool-d-byte-order-for-32-bit-values.patch nvme-tcp-fix-premature-queue-removal-and-i-o-failove.patch net-lan743x-fix-memleak-issue-when-gso-enabled.patch net-fec-err007885-workaround-for-conventional-tx.patch +pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch