cpufreq: CPPC: Avoid overflow when calculating desired_perf
authorHoan Tran <hotran@apm.com>
Wed, 14 Sep 2016 23:08:28 +0000 (16:08 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 16 Sep 2016 21:59:19 +0000 (23:59 +0200)
This patch fixes overflow issue when calculating the desired_perf.

Fixes: ad38677df44b (cpufreq: CPPC: Force reporting values in KHz to fix user space interface)
Signed-off-by: Hoan Tran <hotran@apm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cppc_cpufreq.c

index 6debc18..99db422 100644 (file)
@@ -84,7 +84,7 @@ 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;