diff options
author | shin, jacob <jacob.shin@amd.com> | 2006-03-27 15:57:20 (GMT) |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-03-27 20:01:28 (GMT) |
commit | eef5167e5045fa8265b3e72cac9dbc4bc7dd82a6 (patch) | |
tree | dafb8c4001ba4a8c5f15eedd81568799df8cb03f /arch/i386/kernel/cpu | |
parent | 0bb065f29bffc7895f0dbac1fc7d74b3a8d357a9 (diff) | |
download | linux-eef5167e5045fa8265b3e72cac9dbc4bc7dd82a6.tar.xz |
[CPUFREQ] hotplug cpu fix for powernow-k8
Andi's previous fix to initialise powernow_data on all siblings
will not work properly with CPU Hotplug.
Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'arch/i386/kernel/cpu')
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c index 1e70823..712a26b 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c @@ -1095,10 +1095,15 @@ static int __devexit powernowk8_cpu_exit (struct cpufreq_policy *pol) static unsigned int powernowk8_get (unsigned int cpu) { - struct powernow_k8_data *data = powernow_data[cpu]; + struct powernow_k8_data *data; cpumask_t oldmask = current->cpus_allowed; unsigned int khz = 0; + data = powernow_data[first_cpu(cpu_core_map[cpu])]; + + if (!data) + return -EINVAL; + set_cpus_allowed(current, cpumask_of_cpu(cpu)); if (smp_processor_id() != cpu) { printk(KERN_ERR PFX "limiting to CPU %d failed in powernowk8_get\n", cpu); |