From: Ian Campbell Date: Wed, 16 Nov 2011 16:37:49 +0000 (+0000) Subject: xen: avoid crash enabling turbo mode X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=82d50345e97984547b51f4932af6af3a85d0d81c;p=people%2Fvhanquez%2Fxen.git xen: avoid crash enabling turbo mode On a system which has not had P-state information pushed down into the hypervisor running "xenpm enable-turbo-mode" will reliably crash the host. Signed-off-by: Ian Campbell Committed-by: Jan Beulich xen-unstable changeset: 24144:cd3ef25f207a xen-unstable date: Tue Nov 15 14:24:38 2011 +0100 Committed-by: Keir Fraser --- diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c index 8fb349246..c6af64b21 100644 --- a/xen/drivers/cpufreq/utility.c +++ b/xen/drivers/cpufreq/utility.c @@ -400,7 +400,7 @@ void cpufreq_enable_turbo(int cpuid) struct cpufreq_policy *policy; policy = per_cpu(cpufreq_cpu_policy, cpuid); - if (policy->turbo != CPUFREQ_TURBO_UNSUPPORTED) + if (policy && policy->turbo != CPUFREQ_TURBO_UNSUPPORTED) policy->turbo = CPUFREQ_TURBO_ENABLED; } @@ -409,7 +409,7 @@ void cpufreq_disable_turbo(int cpuid) struct cpufreq_policy *policy; policy = per_cpu(cpufreq_cpu_policy, cpuid); - if (policy->turbo != CPUFREQ_TURBO_UNSUPPORTED) + if (policy && policy->turbo != CPUFREQ_TURBO_UNSUPPORTED) policy->turbo = CPUFREQ_TURBO_DISABLED; } @@ -418,7 +418,7 @@ int cpufreq_get_turbo_status(int cpuid) struct cpufreq_policy *policy; policy = per_cpu(cpufreq_cpu_policy, cpuid); - return policy->turbo; + return policy && policy->turbo; } /*********************************************************************