From 7b3b6e264807698febcd202921ee68764243a93a Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 7 Nov 2011 10:26:23 +0100 Subject: [PATCH] powernow: don't read never initialized structure member c/s 20361:51b031b0737e removed the writing of struct processor_performance's shared_cpu_map member, but the powernow driver still has code to read it (though presumably that code path can't be taken on actual hardware supported by the powernow driver). Remove the use of the field along with the field itself. Signed-off-by: Jan Beulich --- xen/arch/x86/acpi/cpufreq/powernow.c | 14 ++++++++------ xen/include/acpi/cpufreq/processor_perf.h | 1 - 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c index 846f9ca8e9..4f94d3f726 100644 --- a/xen/arch/x86/acpi/cpufreq/powernow.c +++ b/xen/arch/x86/acpi/cpufreq/powernow.c @@ -200,15 +200,17 @@ static int powernow_cpufreq_cpu_init(struct cpufreq_policy *policy) perf = data->acpi_data; policy->shared_type = perf->shared_type; - /* - * Will let policy->cpus know about dependency only when software - * coordination is required. - */ if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL || policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) { - policy->cpus = perf->shared_cpu_map; + cpumask_set_cpu(cpu, &policy->cpus); + if (cpumask_weight(&policy->cpus) != 1) { + printk(XENLOG_WARNING "Unsupported sharing type %d (%u CPUs)\n", + policy->shared_type, cpumask_weight(&policy->cpus)); + result = -ENODEV; + goto err_unreg; + } } else { - policy->cpus = cpumask_of_cpu(cpu); + cpumask_copy(&policy->cpus, cpumask_of(cpu)); } /* capability check */ diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h index b909796e1a..d8a1ba68a6 100644 --- a/xen/include/acpi/cpufreq/processor_perf.h +++ b/xen/include/acpi/cpufreq/processor_perf.h @@ -29,7 +29,6 @@ struct processor_performance { uint32_t state_count; struct xen_processor_px *states; struct xen_psd_package domain_info; - cpumask_t shared_cpu_map; uint32_t shared_type; uint32_t init; -- 2.30.2