]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: imx6: Skip controller_id generation logic for i.MX7D
authorRichard Zhu <hongxing.zhu@nxp.com>
Tue, 26 Nov 2024 07:56:56 +0000 (15:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:36:52 +0000 (14:36 +0200)
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

index 8117f2dad86c43bff092cf297825add4a9c6371b..a68c7e273586af46eae4c9dcfa26ca21012371d6 100644 (file)
@@ -1092,11 +1092,10 @@ static int imx6_pcie_probe(struct platform_device *pdev)
                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)) {