[PATCH 2/2 v2] [ARM] [IMX]: Fix clock use counter from underflow on multiple clk_disable().
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Thu Mar 18 04:30:04 EDT 2010
Hi Vladimir,
On Wed, Mar 17, 2010 at 02:03:31PM +0300, Vladimir Zapolskiy wrote:
> If clk_disable() is called for already disabled clock clk->usecount
> value is decremented anyway. This leads to a problem that sequent
> clk_enable() call doesn't enable the clock as expected.
>
> Signed-off-by: Vladimir Zapolskiy <vzapolskiy at gmail.com>
> Cc: Sascha Hauer <s.hauer at pengutronix.de>
> Cc: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> ---
> arch/arm/plat-mxc/clock.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c
> index 2daec3c..3189275 100644
> --- a/arch/arm/plat-mxc/clock.c
> +++ b/arch/arm/plat-mxc/clock.c
> @@ -53,10 +53,14 @@ static void __clk_disable(struct clk *clk)
> if (clk == NULL || IS_ERR(clk))
> return;
>
> + if (!clk->usecount) {
> + WARN(1, "Trying to disable a clock with 0 usecount\n");
> + return;
> + }
> +
The advantage of just using
WARN(!clk->usecount, "Trying to disable a disabled clock\n");
is that the error isn't caught and so is more likely to be fixed :-)
I'n not a native English speaker, but I think "Trying to disable a clock
with 0 usecount" isn't a proper English sentence.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the linux-arm-kernel
mailing list