diff options
author | Jon Medhurst <tixy@linaro.org> | 2013-04-18 16:58:38 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-04-18 17:21:04 +0100 |
commit | 3a58649068df52162ef63dd0f1c98d231f667b05 (patch) | |
tree | 619310b0651cb1026255ef625025eed84312bc78 | |
parent | 7e1cb9f7bfc9b36b967110eac1756bfe75aaef1c (diff) |
ARM: make cpu_init() notracetracking-integration-linaro-vexpress-ll-20130422.0tracking-integration-linaro-vexpress-ll-20130418.0
On resume from CPU power down any trace hooks enabled in cpu_init()
will get called before that function has done set_my_cpu_offset(),
so any use of per-cpu variables by trace hook code will cause bad
things to happen. Prevent this by marking the function notrace.
This fixes lockups/crashes seen when enabling function tracer on TC2
with the not yet mainlined cpuidle driver.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
-rw-r--r-- | arch/arm/kernel/setup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 8045f22b4785..61573bb029ac 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -403,7 +403,7 @@ static void __init feat_v6_fixup(void) * * cpu_init sets up the per-CPU stacks. */ -void cpu_init(void) +void notrace cpu_init(void) { unsigned int cpu = smp_processor_id(); struct stack *stk = &stacks[cpu]; |