From: Greg Kroah-Hartman Date: Wed, 7 May 2025 09:14:01 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v5.15.182~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=46d08b6f0fdaf7fe3275da82947ee897f40036c6;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch --- diff --git a/queue-5.4/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch b/queue-5.4/pci-imx6-skip-controller_id-generation-logic-for-i.mx7d.patch new file mode 100644 index 0000000000..2367b5a50b --- /dev/null +++ b/queue-5.4/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 +@@ -1112,11 +1112,10 @@ static int imx6_pcie_probe(struct platfo + dev_err(dev, "pcie_aux clock source missing or invalid\n"); + return PTR_ERR(imx6_pcie->pcie_aux); + } +- /* fall through */ +- case IMX7D: + if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) + imx6_pcie->controller_id = 1; +- ++ /* fall through */ ++ 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.4/series b/queue-5.4/series index 83e854c799..c33fab78ad 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -17,3 +17,4 @@ lan743x-remove-redundant-initialization-of-variable-.patch lan743x-fix-endianness-when-accessing-descriptors.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