msm: acpuclock-8k: Return error on unexpected CPU_UP_PREPARE
If a CPU has never been brought up before acpuclock initializes
we may NULL pointer dereference when trying to access per-CPU
resources. Deny the CPU from coming online if it didn't come up
before acpuclock initialized since the code isn't prepared to
handle such a case.
Change-Id: Iddbc326e347b0d0c2d799e003c1d82b4884d7247
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
diff --git a/arch/arm/mach-msm/acpuclock-8960.c b/arch/arm/mach-msm/acpuclock-8960.c
index 5aa75c7..2792e2a 100644
--- a/arch/arm/mach-msm/acpuclock-8960.c
+++ b/arch/arm/mach-msm/acpuclock-8960.c
@@ -1192,7 +1192,7 @@
case CPU_UP_PREPARE:
case CPU_UP_PREPARE_FROZEN:
if (WARN_ON(!prev_khz[cpu]))
- prev_khz[cpu] = acpu_freq_tbl->speed.khz;
+ return NOTIFY_BAD;
acpuclk_8960_set_rate(cpu, prev_khz[cpu], SETRATE_HOTPLUG);
break;
case CPU_STARTING: