[PATCH] cpufreq: CPPC: Avoid overflow when calculating desired_perf

From: Hoan Tran
Date: Wed Sep 14 2016 - 19:08:58 EST


This patch fixes overflow issue when calculating the desired_perf.

Signed-off-by: Hoan Tran <hotran@xxxxxxx>
---
drivers/cpufreq/cppc_cpufreq.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c
index 894e465..3e0961e 100644
--- a/drivers/cpufreq/cppc_cpufreq.c
+++ b/drivers/cpufreq/cppc_cpufreq.c
@@ -84,7 +84,8 @@ static int cppc_cpufreq_set_target(struct cpufreq_policy *policy,

cpu = all_cpu_data[policy->cpu];

- cpu->perf_ctrls.desired_perf = target_freq * policy->max / cppc_dmi_max_khz;
+ cpu->perf_ctrls.desired_perf =
+ (u64)target_freq * policy->max / cppc_dmi_max_khz;
freqs.old = policy->cur;
freqs.new = target_freq;

--
1.9.1