From 8727d0999292655e45c376585edd0cfad0aa221d Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 22 Sep 2011 12:20:55 +0100 Subject: [PATCH] --- yaml --- r: 269434 b: refs/heads/master c: ac3e2fa6770052a82d42fc4db194a27317518c97 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/amba/bus.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a93785ce9b2b..21be30a0be09 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 40d3e0f4942ec12c4521fe1b2a2b774164cd2c80 +refs/heads/master: ac3e2fa6770052a82d42fc4db194a27317518c97 diff --git a/trunk/drivers/amba/bus.c b/trunk/drivers/amba/bus.c index 84bdaace56c8..bd230e801131 100644 --- a/trunk/drivers/amba/bus.c +++ b/trunk/drivers/amba/bus.c @@ -460,9 +460,17 @@ static int amba_get_enable_pclk(struct amba_device *pcdev) if (IS_ERR(pclk)) return PTR_ERR(pclk); + ret = clk_prepare(pclk); + if (ret) { + clk_put(pclk); + return ret; + } + ret = clk_enable(pclk); - if (ret) + if (ret) { + clk_unprepare(pclk); clk_put(pclk); + } return ret; } @@ -472,6 +480,7 @@ static void amba_put_disable_pclk(struct amba_device *pcdev) struct clk *pclk = pcdev->pclk; clk_disable(pclk); + clk_unprepare(pclk); clk_put(pclk); }