summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/clock.c
diff options
context:
space:
mode:
authormchourasia <mchourasia@nvidia.com>2011-06-27 12:04:21 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-07-08 22:51:52 -0700
commitadb7c3b2fe7f7550e88e231eefea0503a1f29771 (patch)
tree17d49971061df172441ca55cd666409b45336dd8 /arch/arm/mach-tegra/clock.c
parentd5660040d7a0c2a4d59766caf86e3ed61dc88b09 (diff)
tegra: clocks: Fix in clock settings
clk_disable_locked should not be called when clk_enable_locked is failed. Change-Id: I2524ec0198f62de2487723676ca7657d15757eda Reviewed-on: http://git-master/r/38273 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/clock.c')
-rw-r--r--arch/arm/mach-tegra/clock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c
index ba75aebd9853..bbaf1bdd89f7 100644
--- a/arch/arm/mach-tegra/clock.c
+++ b/arch/arm/mach-tegra/clock.c
@@ -397,10 +397,10 @@ int clk_set_parent(struct clk *c, struct clk *parent)
*/
if ((c->refcnt == 0) && (c->flags & MUX)) {
pr_debug("Setting parent of clock %s with refcnt 0\n", c->name);
- disable = true;
ret = clk_enable_locked(c);
if (ret)
goto out;
+ disable = true;
}
if (clk_is_auto_dvfs(c) && c->refcnt > 0 &&
@@ -476,10 +476,10 @@ int clk_set_rate(struct clk *c, unsigned long rate)
if ((c->refcnt == 0) && (c->flags & (DIV_U71 | DIV_U16)) &&
clk_is_auto_dvfs(c)) {
pr_debug("Setting rate of clock %s with refcnt 0\n", c->name);
- disable = true;
ret = clk_enable_locked(c);
if (ret)
goto out;
+ disable = true;
}
if (clk_is_auto_dvfs(c) && rate > old_rate && c->refcnt > 0) {