diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2016-08-31 05:28:22 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-09-12 18:15:09 -0400 |
commit | 3d664b070ccb2b1522174ac36c606f92808a26fa (patch) | |
tree | 409b1d58078b200821ffc1ec2f1f89ad6591ecd7 | |
parent | 51afa3cc2ded60884aed3aaac8d8c416e3cf6324 (diff) |
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 <geert+renesas@glider.be>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-rw-r--r-- | drivers/pci/host/pcie-rcar.c | 4 |
1 files changed, 2 insertions, 2 deletions
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, | |||
786 | } | 786 | } |
787 | err = clk_prepare_enable(pcie->clk); | 787 | err = clk_prepare_enable(pcie->clk); |
788 | if (err) | 788 | if (err) |
789 | goto fail_clk; | 789 | return err; |
790 | 790 | ||
791 | pcie->bus_clk = devm_clk_get(&pdev->dev, "pcie_bus"); | 791 | pcie->bus_clk = devm_clk_get(&pdev->dev, "pcie_bus"); |
792 | if (IS_ERR(pcie->bus_clk)) { | 792 | if (IS_ERR(pcie->bus_clk)) { |
@@ -796,7 +796,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, | |||
796 | } | 796 | } |
797 | err = clk_prepare_enable(pcie->bus_clk); | 797 | err = clk_prepare_enable(pcie->bus_clk); |
798 | if (err) | 798 | if (err) |
799 | goto err_map_reg; | 799 | goto fail_clk; |
800 | 800 | ||
801 | i = irq_of_parse_and_map(pdev->dev.of_node, 0); | 801 | i = irq_of_parse_and_map(pdev->dev.of_node, 0); |
802 | if (!i) { | 802 | if (!i) { |