From mboxrd@z Thu Jan 1 00:00:00 1970 From: alexandre.belloni@free-electrons.com (Alexandre Belloni) Date: Mon, 20 Jul 2015 21:37:26 +0200 Subject: [PATCH 1/3] clocksource: atmel-st: Remove irq handler when clock event is unused In-Reply-To: References: <1437161608-26782-1-git-send-email-alexandre.belloni@free-electrons.com> <1437161608-26782-2-git-send-email-alexandre.belloni@free-electrons.com> <20150718222308.GA30489@piout.net> Message-ID: <20150720193726.GJ15539@piout.net> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 20/07/2015 at 11:04:30 +0200, Thomas Gleixner wrote : > That's why I used setup/remove_irq() in the stale RT changes. > Hum, actually, you hit the same thing with setup/remove_irq (and I'm not sure to follow why): BUG: sleeping function called from invalid context at mm/slab.c:2863 in_atomic(): 1, irqs_disabled(): 128, pid: 596, name: sh CPU: 0 PID: 596 Comm: sh Tainted: G W 4.1.0-rc4+ #122 Hardware name: Atmel AT91RM9200 [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (__kmalloc+0x38/0x104) [] (__kmalloc) from [] (__proc_create+0x11c/0x194) [] (__proc_create) from [] (proc_mkdir_data+0x30/0x9c) [] (proc_mkdir_data) from [] (register_handler_proc+0xfc/0x10c) [] (register_handler_proc) from [] (__setup_irq+0x438/0x518) [] (__setup_irq) from [] (setup_irq+0x58/0x84) [] (setup_irq) from [] (atmel_st_request_irq+0x4c/0x84) [] (atmel_st_request_irq) from [] (clkevt32k_set_periodic+0x14/0x54) [] (clkevt32k_set_periodic) from [] (clockevents_switch_state+0x1c/0x58) [] (clockevents_switch_state) from [] (__clockevents_unbind+0xb8/0xfc) [] (__clockevents_unbind) from [] (smp_call_function_single+0x34/0x44) [] (smp_call_function_single) from [] (sysfs_unbind_tick_dev+0xe8/0x114) [] (sysfs_unbind_tick_dev) from [] (kernfs_fop_write+0x118/0x174) [] (kernfs_fop_write) from [] (__vfs_write+0x24/0xdc) [] (__vfs_write) from [] (vfs_write+0xa4/0x128) [] (vfs_write) from [] (SyS_write+0x40/0x78) [] (SyS_write) from [] (ret_fast_syscall+0x0/0x30) -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com