summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/controller/dwc/pci-imx6.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index ef6492f3fbbb..814003db2c9c 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1217,7 +1217,7 @@ static int imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie)
/* wait for phy pll lock firstly. */
ret = imx8_pcie_wait_for_phy_pll_lock(imx6_pcie);
if (ret)
- return ret;
+ goto err_vpcie;
break;
case IMX8MQ:
case IMX8MM:
@@ -1354,6 +1354,12 @@ static int imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie)
}
return 0;
+
+err_vpcie:
+ if (imx6_pcie->vpcie)
+ regulator_disable(imx6_pcie->vpcie);
+
+ return ret;
}
static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)