aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-28 14:06:42 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-28 14:06:42 -0500
commit64a172d265643b345007ddaafcc523f6e5373b69 (patch)
tree012cba95b06014e2a5d916ae3081401a0552077f
parentef1dce990b06a3f5bf4f71100891686b5d3f7c7e (diff)
parent606f42265d384b9149bfb953c5dfc6d4710fef4c (diff)
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fix from Catalin Marinas: "Fix kernel panic on ACPI-based systems where CPU capacity description is not currently handled" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: skip register_cpufreq_notifier on ACPI-based systems
-rw-r--r--arch/arm64/kernel/topology.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 23e9e13bd2aa..655e65f38f31 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -11,6 +11,7 @@
11 * for more details. 11 * for more details.
12 */ 12 */
13 13
14#include <linux/acpi.h>
14#include <linux/cpu.h> 15#include <linux/cpu.h>
15#include <linux/cpumask.h> 16#include <linux/cpumask.h>
16#include <linux/init.h> 17#include <linux/init.h>
@@ -209,7 +210,12 @@ static struct notifier_block init_cpu_capacity_notifier = {
209 210
210static int __init register_cpufreq_notifier(void) 211static int __init register_cpufreq_notifier(void)
211{ 212{
212 if (cap_parsing_failed) 213 /*
214 * on ACPI-based systems we need to use the default cpu capacity
215 * until we have the necessary code to parse the cpu capacity, so
216 * skip registering cpufreq notifier.
217 */
218 if (!acpi_disabled || cap_parsing_failed)
213 return -EINVAL; 219 return -EINVAL;
214 220
215 if (!alloc_cpumask_var(&cpus_to_visit, GFP_KERNEL)) { 221 if (!alloc_cpumask_var(&cpus_to_visit, GFP_KERNEL)) {