From: Geert Uytterhoeven Date: Wed, 31 Aug 2016 09:28:22 +0000 (+0200) Subject: PCI: rcar: Don't disable/unprepare clocks on prepare/enable failure X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3d664b070ccb2b1522174ac36c606f92808a26fa;p=linux-beck.git PCI: rcar: Don't disable/unprepare clocks on prepare/enable failure If clk_prepare_enable() fails, we must not call clk_disable_unprepare() in the error path. Signed-off-by: Geert Uytterhoeven Signed-off-by: Bjorn Helgaas --- diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c index e58bbbc0f0b5..45dc3cd74c03 100644 --- a/drivers/pci/host/pcie-rcar.c +++ b/drivers/pci/host/pcie-rcar.c @@ -786,7 +786,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, } err = clk_prepare_enable(pcie->clk); if (err) - goto fail_clk; + return err; pcie->bus_clk = devm_clk_get(&pdev->dev, "pcie_bus"); if (IS_ERR(pcie->bus_clk)) { @@ -796,7 +796,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, } err = clk_prepare_enable(pcie->bus_clk); if (err) - goto err_map_reg; + goto fail_clk; i = irq_of_parse_and_map(pdev->dev.of_node, 0); if (!i) {