ARM: 5763/1: ARM: SMP: Fix the BUG with CONFIG_PREEMPT enabled
This patch fixes the BUG: using smp_processor_id() in preemptible
Below is the stripped backtrace.
BUG: using smp_processor_id() in preemptible [
00000000] code: init/1
caller is flush_tlb_mm+0x44/0x70
Backtrace:
[<
c00225c4>] (dump_backtrace+0x0/0x110) from [<
c01713a0>] (dump_stack+0x18/0x1c)
r7:
00000000 r6:
c00234f0 r5:
00000001 r4:
c7828000
[<
c0171388>] (dump_stack+0x0/0x1c) from [<
c0135364>] (debug_smp_processor_id+0xc0/0xf0)
[<
c01352a4>] (debug_smp_processor_id+0x0/0xf0) from [<
c00234f0>] (flush_tlb_mm+0x44/0x70)
r7:
00000000 r6:
c60b41a0 r5:
c60b4154 r4:
00000001
[<
c00234ac>] (flush_tlb_mm+0x0/0x70) from [<
c0039568>] (dup_mm+0x304/0x38c)
r5:
c1f09058 r4:
00000000
[<
c0039264>] (dup_mm+0x0/0x38c) from [<
c0039de4>] (copy_process+0x7b8/0xeb0)
[<
c003962c>] (copy_process+0x0/0xeb0) from [<
c003a638>] (do_fork+0x15c/0x29c)
[<
c003a4dc>] (do_fork+0x0/0x29c) from [<
c0021df0>] (sys_clone+0x34/0x3c)
[<
c0021dbc>] (sys_clone+0x0/0x3c) from [<
c001efa0>] (ret_fast_syscall+0x0/0x2c)
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>