-
Damian Eppel authored
Whilst testing cpu hotplug events on kernel configured with DEBUG_PREEMPT and DEBUG_ATOMIC_SLEEP we get following BUG message, caused by calling request_irq() and free_irq() in the context of hotplug notification (which is in this case atomic context). [ 0.091617] [c0] CPU0: thread -1, cpu 0, socket 1, mpidr 80000100 [ 0.091828] [c0] Running under secure firmware. [ 0.091901] [c0] Setting up static identity map for 0xc0618b98 - 0xc0618bf0 [ 0.091962] [c0] Exynos-SnapShot: exynos_ss_init failed [ 0.112330] [c0] ftrace: Allocated trace_printk buffers [ 0.134323] [c1] CPU1: Booted secondary processor [ 0.134354] [c1] CPU1: thread -1, cpu 1, socket 1, mpidr 80000101 [ 0.134402] [c1] BUG: sleeping function called from invalid context at mm/page_alloc.c:2638 [ 0.134518] [c1] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper/1 [ 0.134560] [c1] no locks held by swapper/1/0. [ 0.134598] [c1] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.10.82-xu43hk #11 [ 0.134640] [c1] Backtrace: [ 0.134694] [c1] [<c00132e4>] (dump_backtrace+0x0/0x114) from [<c0013554>] (show_stack+0x20/0x24) [ 0.134744] [c1] r7:00000000 r6:00000000 r5:df2da000 r4:c098c9c0 [ 0.134826] [c1] [<c0013534>] (show_stack+0x0/0x24) from [<c06124d8>] (dump_stack+0x24/0x28) [ 0.134887] [c1] [<c06124b4>] (dump_stack+0x0/0x28) from [<c00617f8>] (__might_sleep+0x144/0x148) [ 0.134952] [c1] [<c00616b4>] (__might_sleep+0x0/0x148) from [<c00f5590>] (__alloc_pages_nodemask+0x2a0/0xaac) [ 0.135006] [c1] r5:00080008 r4:002012d0 [ 0.135065] [c1] [<c00f52f0>] (__alloc_pages_nodemask+0x0/0xaac) from [<c012875c>] (new_slab+0x7c/0x22c) [ 0.135132] [c1] [<c01286e0>] (new_slab+0x0/0x22c) from [<c012a92c>] (__slab_alloc.isra.14.constprop.18+0x558/0x61c) [ 0.135187] [c1] r9:00000000 r8:df001f00 r7:014f7000 r6:00000000 r5:c1dee9e0 [ 0.135187] r4:c08f79e0 [ 0.135295] [c1] [<c012a3d4>] (__slab_alloc.isra.14.constprop.18+0x0/0x61c) from [<c012af3c>] (kmem_cache_alloc_trace+0x194/0x1c8) [ 0.135367] [c1] [<c012ada8>] (kmem_cache_alloc_trace+0x0/0x1c8) from [<c00b04e0>] (request_threaded_irq+0x78/0x138) [ 0.135433] [c1] [<c00b0468>] (request_threaded_irq+0x0/0x138) from [<c0610f7c>] (exynos4_local_timer_setup+0x100/0x160) [ 0.135507] [c1] [<c0610e7c>] (exynos4_local_timer_setup+0x0/0x160) from [<c060de3c>] (percpu_timer_setup+0xa4/0xb0) [ 0.135562] [c1] r8:4000406a r7:c0968c84 r6:10c0387d r5:c09148c0 r4:c1de9280 [ 0.135655] [c1] [<c060dd98>] (percpu_timer_setup+0x0/0xb0) from [<c060e1e4>] (secondary_start_kernel+0x118/0x134) [ 0.135710] [c1] r5:c09148c0 r4:00000001 [ 0.135765] [c1] [<c060e0cc>] (secondary_start_kernel+0x0/0x134) from [<4060d784>] (0x4060d784) [ 0.135815] [c1] r5:00000015 r4:5f13006a [ 0.144239] [c2] CPU2: Booted secondary processor [ 0.144267] [c2] CPU2: thread -1, cpu 2, socket 1, mpidr 80000102 [ 0.154295] [c3] CPU3: Booted secondary processor Change-Id: I78ee2d3997b2137e3c19432e17b3e3672523cf43
6d913c32