]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
xen: avoid crash enabling turbo mode
authorIan Campbell <ian.campbell@citrix.com>
Wed, 16 Nov 2011 16:37:49 +0000 (16:37 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 16 Nov 2011 16:37:49 +0000 (16:37 +0000)
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 <ian.campbell@citrix.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
xen-unstable changeset:   24144:cd3ef25f207a
xen-unstable date:        Tue Nov 15 14:24:38 2011 +0100
Committed-by: Keir Fraser <keir@xen.org>
xen/drivers/cpufreq/utility.c

index 8fb349246ebe88b1875d5bb1a7c76d07eb905061..c6af64b21b6ed06813f8a985b425a361370498fd 100644 (file)
@@ -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;
 }
 
 /*********************************************************************