From 1669d97751a2ce546d8a12bb10bfe9114cd6c034 Mon Sep 17 00:00:00 2001 From: Liang Chen Date: Tue, 28 Jul 2020 17:12:44 +0800 Subject: [PATCH] cpufreq: interactive: make sure governor is ready for task boost enqueue_task() may call cpufreq_task_boost() before governor is initial, so enable_sem and speedchange_task is not initial, then do not boost. Fixes: 2d367d61e8c1 (cpufreq: interactive: introduce boost cpufreq interface for task) Change-Id: I68ec027299fa46e7749efd43b44af6e476753ac5 Signed-off-by: Liang Chen --- drivers/cpufreq/cpufreq_interactive.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c index d347e4b5cc7d..f95554debb2c 100644 --- a/drivers/cpufreq/cpufreq_interactive.c +++ b/drivers/cpufreq/cpufreq_interactive.c @@ -1417,6 +1417,9 @@ void cpufreq_task_boost(int cpu, unsigned long util) struct interactive_policy *ipolicy = pcpu->ipolicy; unsigned long cap, min_util; + if (!speedchange_task) + return; + if (!down_read_trylock(&pcpu->enable_sem)) return;