]> 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>
Mon, 19 Jan 2026 12:09:29 +0000 (13:09 +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 c277f76276ab1d76eee8ffe746eead229204526c..ad399e9ce5dc5e7c5d81593fc6b6391868422946 100644 (file)
@@ -1328,6 +1328,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);