From 982038bc244037c9c3fabd19c52779bf2fcbbc62 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 suspend and 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index 9cc8abd3d116..0b71c48bc996 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c @@ -91,7 +91,8 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, mutex_lock(&userspace_mutex); per_cpu(cpu_is_managed, cpu) = 1; - *setspeed = policy->cur; + if (!*setspeed) + *setspeed = policy->cur; mutex_unlock(&userspace_mutex); break; case CPUFREQ_GOV_STOP: @@ -99,7 +100,6 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, mutex_lock(&userspace_mutex); per_cpu(cpu_is_managed, cpu) = 0; - *setspeed = 0; mutex_unlock(&userspace_mutex); break; case CPUFREQ_GOV_LIMITS: