Просмотр исходного кода

clk: WARN_ON about to disable a critical clock

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
Lee Jones 10 лет назад
Родитель
Сommit
2e20fbf592
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      drivers/clk/clk.c

+ 6 - 0
drivers/clk/clk.c

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