From 987c3373f8186521ec6cfc4ecafa2f6020b169ac Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Tue, 8 Jan 2019 17:44:13 +0800 Subject: [PATCH] cpufreq: governor: userspace: Fix frequency error when resume As policy->cur may be changed by thermal and cpufreq_suspend, the setspeed may be changed after resume. Change-Id: I6d4e0672ff39127c522f305719afd52806c31f48 Signed-off-by: Finley Xiao --- drivers/cpufreq/cpufreq_userspace.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index 50a4d7846580..1f001d281718 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c @@ -78,20 +78,18 @@ static int cpufreq_userspace_policy_start(struct cpufreq_policy *policy) mutex_lock(&userspace_mutex); per_cpu(cpu_is_managed, policy->cpu) = 1; - *setspeed = policy->cur; + if (!*setspeed) + *setspeed = policy->cur; mutex_unlock(&userspace_mutex); return 0; } static void cpufreq_userspace_policy_stop(struct cpufreq_policy *policy) { - unsigned int *setspeed = policy->governor_data; - pr_debug("managing cpu %u stopped\n", policy->cpu); mutex_lock(&userspace_mutex); per_cpu(cpu_is_managed, policy->cpu) = 0; - *setspeed = 0; mutex_unlock(&userspace_mutex); }