[BUGFIX][PATCH] Fix double inversion bug in clk_disable()

Lothar Waßmann LW at KARO-electronics.de
Tue Aug 2 07:26:30 EDT 2011


The condition check for calling the low level disable function is
wrong due to double inversion via '!' and '== 0'.

Signed-off-by: Lothar Waßmann <LW at KARO-electronics.de>
---
 drivers/clk/clk.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 83c6b67..1525e2a 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -81,7 +81,7 @@ void clk_disable(struct clk *clk)
 
 	WARN_ON(clk->enable_count == 0);
 
-	if (!--clk->enable_count == 0 && clk->ops->disable)
+	if (--clk->enable_count == 0 && clk->ops->disable)
 		clk->ops->disable(clk);
 
 	spin_unlock_irqrestore(&clk->enable_lock, flags);
-- 
1.5.6.5




More information about the linux-arm-kernel mailing list