aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c')
-rw-r--r--arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
index 57c880bf0bd6..e902d970226f 100644
--- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -197,6 +197,7 @@ acpi_cpufreq_target (
197 unsigned int relation) 197 unsigned int relation)
198{ 198{
199 struct cpufreq_acpi_io *data = acpi_io_data[policy->cpu]; 199 struct cpufreq_acpi_io *data = acpi_io_data[policy->cpu];
200 struct cpufreq_acpi_io *cpudata;
200 struct acpi_processor_performance *perf; 201 struct acpi_processor_performance *perf;
201 struct cpufreq_freqs freqs; 202 struct cpufreq_freqs freqs;
202 cpumask_t online_policy_cpus; 203 cpumask_t online_policy_cpus;
@@ -260,7 +261,8 @@ acpi_cpufreq_target (
260 break; 261 break;
261 } 262 }
262 263
263 result = acpi_processor_set_performance (data, j, next_state); 264 cpudata = acpi_io_data[j];
265 result = acpi_processor_set_performance(cpudata, j, next_state);
264 if (result) { 266 if (result) {
265 result = -EAGAIN; 267 result = -EAGAIN;
266 break; 268 break;
@@ -287,8 +289,11 @@ acpi_cpufreq_target (
287 289
288 if (!cpus_empty(covered_cpus)) { 290 if (!cpus_empty(covered_cpus)) {
289 for_each_cpu_mask(j, covered_cpus) { 291 for_each_cpu_mask(j, covered_cpus) {
290 policy->cpu = j; 292 cpus_clear(set_mask);
291 acpi_processor_set_performance (data, 293 cpu_set(j, set_mask);
294 set_cpus_allowed(current, set_mask);
295 cpudata = acpi_io_data[j];
296 acpi_processor_set_performance(cpudata,
292 j, 297 j,
293 cur_state); 298 cur_state);
294 } 299 }