diff options
| author | Jon Medhurst <tixy@linaro.org> | 2013-04-25 14:40:22 +0100 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-04-26 11:09:32 +0100 | 
| commit | 1783d4574619aea9ff5d94e6506f288547fc6737 (patch) | |
| tree | 1612586354fd64fb3857c3f6157e95f86b72b954 /arch/arm/kernel/setup.c | |
| parent | 3eb0be304273054fd2ae34367f96127d082e310c (diff) | |
| download | olio-linux-3.10-1783d4574619aea9ff5d94e6506f288547fc6737.tar.xz olio-linux-3.10-1783d4574619aea9ff5d94e6506f288547fc6737.zip  | |
ARM: 7700/2: Make cpu_init() notrace
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>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/setup.c')
| -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 234e339196c..63ae04bdda1 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -389,7 +389,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];  |