From 3e6ad607dac2e75395afab1768b70209e60f0ecc Mon Sep 17 00:00:00 2001 From: Lin Fuzhen Date: Wed, 25 Jul 2012 15:09:07 +0800 Subject: [PATCH] ENGR00218274 CPUFREQ: fix conservative governor bug When system not boot up all cores, such as adding max_cpus=n, n --- drivers/cpufreq/cpufreq_conservative.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c index 33b56e5c5c14..1d54277572f0 100644 --- a/drivers/cpufreq/cpufreq_conservative.c +++ b/drivers/cpufreq/cpufreq_conservative.c @@ -5,6 +5,7 @@ * (C) 2003 Venkatesh Pallipadi . * Jun Nakajima * (C) 2009 Alexander Clouter + * Copyright (C) 2012 Freescale Semiconductor, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -342,7 +343,7 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) */ /* Get Absolute Load */ - for_each_cpu(j, policy->cpus) { + for_each_online_cpu(j) { struct cpu_dbs_info_s *j_dbs_info; cputime64_t cur_wall_time, cur_idle_time; unsigned int idle_time, wall_time; @@ -492,7 +493,7 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy, mutex_lock(&dbs_mutex); - for_each_cpu(j, policy->cpus) { + for_each_online_cpu(j) { struct cpu_dbs_info_s *j_dbs_info; j_dbs_info = &per_cpu(cs_cpu_dbs_info, j); j_dbs_info->cur_policy = policy; -- 2.39.5