]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
clk: WARN_ON about to disable a critical clock
authorLee Jones <lee.jones@linaro.org>
Thu, 11 Feb 2016 21:19:10 +0000 (13:19 -0800)
committerMichael Turquette <mturquette@baylibre.com>
Sat, 9 Apr 2016 18:58:10 +0000 (11:58 -0700)
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Link: lkml.kernel.org/r/1455225554-13267-3-git-send-email-mturquette@baylibre.com

drivers/clk/clk.c

index 275201fd7b016466c16afc16609cd7623d02ceb6..dede0ce679e47e271537e99f716c92c91fb27bce 100644 (file)
@@ -574,6 +574,9 @@ static void clk_core_unprepare(struct clk_core *core)
        if (WARN_ON(core->prepare_count == 0))
                return;
 
+       if (WARN_ON(core->prepare_count == 1 && core->flags & CLK_IS_CRITICAL))
+               return;
+
        if (--core->prepare_count > 0)
                return;
 
@@ -679,6 +682,9 @@ static void clk_core_disable(struct clk_core *core)
        if (WARN_ON(core->enable_count == 0))
                return;
 
+       if (WARN_ON(core->enable_count == 1 && core->flags & CLK_IS_CRITICAL))
+               return;
+
        if (--core->enable_count > 0)
                return;