]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 May 2025 09:14:46 +0000 (11:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 May 2025 09:14:46 +0000 (11:14 +0200)
added patches:
pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch

queue-5.15/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch [new file with mode: 0644]
queue-5.15/series

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 (file)
index 0000000..7e782f9
--- /dev/null
@@ -0,0 +1,48 @@
+From f068ffdd034c93f0c768acdc87d4d2d7023c1379 Mon Sep 17 00:00:00 2001
+From: Richard Zhu <hongxing.zhu@nxp.com>
+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 <hongxing.zhu@nxp.com>
+
+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 <hongxing.zhu@nxp.com>
+Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Reviewed-by: Frank Li <Frank.Li@nxp.com>
+[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 <ryanmatthews@fastmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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)) {
index 6d4f073e4dc6165191e84f52aebad2f72df5836c..c3d3b2bf3b6860641f4132959367eb76f0a8512e 100644 (file)
@@ -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