提交 1783d457 编写于 作者: J Jon Medhurst 提交者: Russell King

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: NJon Medhurst <tixy@linaro.org>
Acked-by: NNicolas Pitre <nico@linaro.org>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 3eb0be30
...@@ -389,7 +389,7 @@ static void __init feat_v6_fixup(void) ...@@ -389,7 +389,7 @@ static void __init feat_v6_fixup(void)
* *
* cpu_init sets up the per-CPU stacks. * cpu_init sets up the per-CPU stacks.
*/ */
void cpu_init(void) void notrace cpu_init(void)
{ {
unsigned int cpu = smp_processor_id(); unsigned int cpu = smp_processor_id();
struct stack *stk = &stacks[cpu]; struct stack *stk = &stacks[cpu];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册