diff options
author | Fabio Baltieri <fabio.baltieri@linaro.org> | 2013-01-31 05:39:19 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-02-01 18:01:16 -0500 |
commit | 09dca5ae7531c9df379a2c2484a17438b9e947bc (patch) | |
tree | 859bbcfda0b5414c446bbc6c92955620ee9f6f62 /drivers/cpufreq/cpufreq_conservative.c | |
parent | 2624f90c16413990ecb0414400174a066319a9f5 (diff) |
cpufreq: governors: fix misuse of cdbs.cpu
Fix governors code to set all cpu's cdbs->cpu to the the actual cpu id
and use cur_policy->cpu istead of cdbs->cpu to track current governor's
leader cpu.
Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/cpufreq_conservative.c')
-rw-r--r-- | drivers/cpufreq/cpufreq_conservative.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c index 653fb0652412..c18a304b3a38 100644 --- a/drivers/cpufreq/cpufreq_conservative.c +++ b/drivers/cpufreq/cpufreq_conservative.c | |||
@@ -114,7 +114,7 @@ static void cs_check_cpu(int cpu, unsigned int load) | |||
114 | static void cs_timer_update(struct cs_cpu_dbs_info_s *dbs_info, bool sample, | 114 | static void cs_timer_update(struct cs_cpu_dbs_info_s *dbs_info, bool sample, |
115 | struct delayed_work *dw) | 115 | struct delayed_work *dw) |
116 | { | 116 | { |
117 | unsigned int cpu = dbs_info->cdbs.cpu; | 117 | unsigned int cpu = dbs_info->cdbs.cur_policy->cpu; |
118 | int delay = delay_for_sampling_rate(cs_tuners.sampling_rate); | 118 | int delay = delay_for_sampling_rate(cs_tuners.sampling_rate); |
119 | 119 | ||
120 | if (sample) | 120 | if (sample) |
@@ -132,7 +132,8 @@ static void cs_timer_coordinated(struct cs_cpu_dbs_info_s *dbs_info_local, | |||
132 | bool sample = true; | 132 | bool sample = true; |
133 | 133 | ||
134 | /* use leader CPU's dbs_info */ | 134 | /* use leader CPU's dbs_info */ |
135 | dbs_info = &per_cpu(cs_cpu_dbs_info, dbs_info_local->cdbs.cpu); | 135 | dbs_info = &per_cpu(cs_cpu_dbs_info, |
136 | dbs_info_local->cdbs.cur_policy->cpu); | ||
136 | mutex_lock(&dbs_info->cdbs.timer_mutex); | 137 | mutex_lock(&dbs_info->cdbs.timer_mutex); |
137 | 138 | ||
138 | time_now = ktime_get(); | 139 | time_now = ktime_get(); |