Sfoglia il codice sorgente

PCI: rockchip: Disable vpcie0v9 if resume_noirq fails

Disable vpcie0v9 regulator if resume_noirq fails.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Jeffy Chen 8 anni fa
parent
commit
efee827d3d
1 ha cambiato i file con 4 aggiunte e 1 eliminazioni
  1. 4 1
      drivers/pci/host/pcie-rockchip.c

+ 4 - 1
drivers/pci/host/pcie-rockchip.c

@@ -1488,7 +1488,7 @@ static int __maybe_unused rockchip_pcie_resume_noirq(struct device *dev)
 
 	err = rockchip_pcie_enable_clocks(rockchip);
 	if (err)
-		return err;
+		goto err_disable_0v9;
 
 	err = rockchip_pcie_init_port(rockchip);
 	if (err)
@@ -1508,6 +1508,9 @@ err_err_deinit_port:
 	rockchip_pcie_deinit_phys(rockchip);
 err_pcie_resume:
 	rockchip_pcie_disable_clocks(rockchip);
+err_disable_0v9:
+	if (!IS_ERR(rockchip->vpcie0v9))
+		regulator_disable(rockchip->vpcie0v9);
 	return err;
 }