diff --git a/drivers/platform/msm/ep_pcie/ep_pcie_core.c b/drivers/platform/msm/ep_pcie/ep_pcie_core.c index 684ce0400a5e..13b055c808cb 100644 --- a/drivers/platform/msm/ep_pcie/ep_pcie_core.c +++ b/drivers/platform/msm/ep_pcie/ep_pcie_core.c @@ -2324,7 +2324,7 @@ static int ep_pcie_enumeration(struct ep_pcie_dev_t *dev) EP_PCIE_ERR(&ep_pcie_dev, "PCIe V%d: the input handler is NULL\n", ep_pcie_dev.rev); - return EP_PCIE_ERROR; + return -ENODEV; } EP_PCIE_DBG(dev, @@ -3503,7 +3503,11 @@ static int ep_pcie_probe(struct platform_device *pdev) ep_pcie_dev.rev, dev_name(&(pdev->dev))); ret = ep_pcie_enumeration(&ep_pcie_dev); - if (ret && !ep_pcie_debug_keep_resource) + if (ret == EP_PCIE_ERROR) + EP_PCIE_ERR(&ep_pcie_dev, + "PCIe V%d: Enumeration failed in probe, waiting for Perst deassert\n", + ep_pcie_dev.rev); + if (ret && !ep_pcie_debug_keep_resource & !ep_pcie_dev.perst_enum) goto irq_deinit; register_reboot_notifier(&ep_pcie_core_reboot_notifier);