]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: keystone: Exit ks_pcie_probe() for invalid mode
authorSiddharth Vadapalli <s-vadapalli@ti.com>
Wed, 29 Oct 2025 08:04:51 +0000 (13:34 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:54:58 +0000 (13:54 +0100)
[ Upstream commit 95d9c3f0e4546eaec0977f3b387549a8463cd49f ]

Commit under Fixes introduced support for PCIe EP mode on AM654x platforms.
When the mode happens to be either "DW_PCIE_RC_TYPE" or "DW_PCIE_EP_TYPE",
the PCIe Controller is configured accordingly. However, when the mode is
neither of them, an error message is displayed, but the driver probe
succeeds. Since this "invalid" mode is not associated with a functional
PCIe Controller, the probe should fail.

Fix the behavior by exiting "ks_pcie_probe()" with the return value of
"-EINVAL" in addition to displaying the existing error message when the
mode is invalid.

Fixes: 23284ad677a9 ("PCI: keystone: Add support for PCIe EP in AM654x Platforms")
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20251029080547.1253757-4-s-vadapalli@ti.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/dwc/pci-keystone.c

index 4f75d13fe1dee9ac21eca1038ea76dc138877acc..1c34ea8e7c61e669e5f3c2a5df2c499e212275ab 100644 (file)
@@ -1339,6 +1339,8 @@ static int ks_pcie_probe(struct platform_device *pdev)
                break;
        default:
                dev_err(dev, "INVALID device type %d\n", mode);
+               ret = -EINVAL;
+               goto err_get_sync;
        }
 
        ks_pcie_enable_error_irq(ks_pcie);