summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorRichard Zhu <hongxing.zhu@nxp.com>2017-11-15 17:11:40 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:29:11 +0800
commit1660fa695a153109f94af095f71d2d0374212964 (patch)
tree0a660d8d5b960f8304f2ed82170c2e36d81b3276 /drivers/pci
parent777d092e325b33c30ef07137c4283fd374419a2e (diff)
MLK-16830 PCI: imx: fix boot failulre when the pll is not locked
Return the error when the pll is not locked. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Frank Li <frank.li@nxp.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/dwc/pci-imx6.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/pci/dwc/pci-imx6.c b/drivers/pci/dwc/pci-imx6.c
index 5391c6a06a9b..479c3015c9f5 100644
--- a/drivers/pci/dwc/pci-imx6.c
+++ b/drivers/pci/dwc/pci-imx6.c
@@ -795,8 +795,10 @@ static int imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie)
dev_err(dev, "ERROR PM_REQ_CORE_RST is still set.\n");
/* wait for phy pll lock firstly. */
- if (imx8_pcie_wait_for_phy_pll_lock(imx6_pcie))
+ if (imx8_pcie_wait_for_phy_pll_lock(imx6_pcie)) {
ret = -ENODEV;
+ break;
+ }
/* set up the cpu address offset */
if (imx6_pcie->cpu_base)
@@ -836,7 +838,8 @@ static int imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie)
mdelay(20);
}
- return ret;
+ if (ret == 0)
+ return ret;
err_ref_clk:
clk_disable_unprepare(imx6_pcie->pcie_phy);