From: Lin Fuzhen Date: Wed, 25 Jul 2012 07:09:07 +0000 (+0800) Subject: ENGR00218274 CPUFREQ: fix conservative governor bug X-Git-Tag: v3.0.35-fsl_4.1.0~860 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3e6ad607dac2e75395afab1768b70209e60f0ecc;p=karo-tx-linux.git ENGR00218274 CPUFREQ: fix conservative governor bug When system not boot up all cores, such as adding max_cpus=n, n --- 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;