Hi, During N900 boot I get the trace found below. The problem can be seen in omap3_rom_rng_idle(), which is called by a kernel timer (=softirq). In that function you call clk_disable_unprepare(), which must not be called from atomic context, since clk_unprepare() may sleep. [ 1.885131] ------------[ cut here ]------------ [ 1.890075] WARNING: CPU: 0 PID: 6 at kernel/locking/mutex.c:868 mutex_trylock+0x1fc/0x21c() [ 1.899169] DEBUG_LOCKS_WARN_ON(in_interrupt()) [ 1.903808] Modules linked in: [ 1.907287] CPU: 0 PID: 6 Comm: kworker/u2:0 Tainted: G W 4.3.0-rc6-00012-g689422d8e6d2-dirty #630 [ 1.917999] Hardware name: Nokia RX-51 board [ 1.922576] Workqueue: deferwq deferred_probe_work_func [ 1.928192] [<c0017c6c>] (unwind_backtrace) from [<c0013fd0>] (show_stack+0x10/0x14) [ 1.936462] [<c0013fd0>] (show_stack) from [<c035d4a4>] (dump_stack+0x84/0x9c) [ 1.944183] [<c035d4a4>] (dump_stack) from [<c0044d6c>] (warn_slowpath_common+0x78/0xb4) [ 1.952758] [<c0044d6c>] (warn_slowpath_common) from [<c0044dd8>] (warn_slowpath_fmt+0x30/0x40) [ 1.962036] [<c0044dd8>] (warn_slowpath_fmt) from [<c0869434>] (mutex_trylock+0x1fc/0x21c) [ 1.970855] [<c0869434>] (mutex_trylock) from [<c0620998>] (clk_prepare_lock+0xc/0xec) [ 1.979309] [<c0620998>] (clk_prepare_lock) from [<c0622a50>] (clk_unprepare+0x1c/0x2c) [ 1.987854] [<c0622a50>] (clk_unprepare) from [<c0417e88>] (omap3_rom_rng_idle+0x38/0x5c) [ 1.996582] [<c0417e88>] (omap3_rom_rng_idle) from [<c00b53bc>] (call_timer_fn+0x8c/0x194) [ 2.005371] [<c00b53bc>] (call_timer_fn) from [<c00b569c>] (run_timer_softirq+0x1d8/0x2c8) [ 2.014190] [<c00b569c>] (run_timer_softirq) from [<c004984c>] (__do_softirq+0xcc/0x34c) [ 2.022766] [<c004984c>] (__do_softirq) from [<c0049df0>] (irq_exit+0xbc/0x130) [ 2.030578] [<c0049df0>] (irq_exit) from [<c00a4920>] (__handle_domain_irq+0x6c/0xe0) [ 2.038940] [<c00a4920>] (__handle_domain_irq) from [<c086dc38>] (__irq_svc+0x58/0x78) [ 2.047363] [<c086dc38>] (__irq_svc) from [<c086d40c>] (_raw_spin_unlock_irqrestore+0x34/0x44) [ 2.056549] [<c086d40c>] (_raw_spin_unlock_irqrestore) from [<c04d3aa8>] (onenand_release_device+0x48/0x54) [ 2.066925] [<c04d3aa8>] (onenand_release_device) from [<c04d7ba4>] (onenand_bbt_read_oob+0x17c/0x1dc) [ 2.076843] [<c04d7ba4>] (onenand_bbt_read_oob) from [<c04d7d50>] (onenand_scan_bbt+0x104/0x24c) [ 2.086212] [<c04d7d50>] (onenand_scan_bbt) from [<c04d6f28>] (onenand_scan+0x4f4/0xe40) [ 2.094818] [<c04d6f28>] (onenand_scan) from [<c04d8de4>] (omap2_onenand_probe+0x250/0x49c) [ 2.103729] [<c04d8de4>] (omap2_onenand_probe) from [<c045b850>] (platform_drv_probe+0x44/0xac) [ 2.112945] [<c045b850>] (platform_drv_probe) from [<c0459f04>] (driver_probe_device+0x1f4/0x2f0) [ 2.122406] [<c0459f04>] (driver_probe_device) from [<c0458414>] (bus_for_each_drv+0x64/0x98) [ 2.131500] [<c0458414>] (bus_for_each_drv) from [<c0459c84>] (__device_attach+0xb0/0x118) [ 2.140289] [<c0459c84>] (__device_attach) from [<c0459230>] (bus_probe_device+0x88/0x90) [ 2.149017] [<c0459230>] (bus_probe_device) from [<c0457518>] (device_add+0x348/0x568) [ 2.157470] [<c0457518>] (device_add) from [<c045b59c>] (platform_device_add+0xf8/0x214) [ 2.166076] [<c045b59c>] (platform_device_add) from [<c003e0a8>] (gpmc_onenand_init+0x80/0x10c) [ 2.175384] [<c003e0a8>] (gpmc_onenand_init) from [<c0634978>] (gpmc_probe+0x3ac/0x7e8) [ 2.183898] [<c0634978>] (gpmc_probe) from [<c045b850>] (platform_drv_probe+0x44/0xac) [ 2.192291] [<c045b850>] (platform_drv_probe) from [<c0459f04>] (driver_probe_device+0x1f4/0x2f0) [ 2.201751] [<c0459f04>] (driver_probe_device) from [<c0458414>] (bus_for_each_drv+0x64/0x98) [ 2.210815] [<c0458414>] (bus_for_each_drv) from [<c0459c84>] (__device_attach+0xb0/0x118) [ 2.219635] [<c0459c84>] (__device_attach) from [<c0459230>] (bus_probe_device+0x88/0x90) [ 2.228363] [<c0459230>] (bus_probe_device) from [<c0459654>] (deferred_probe_work_func+0x60/0x90) [ 2.237884] [<c0459654>] (deferred_probe_work_func) from [<c005f144>] (process_one_work+0x1a4/0x558) [ 2.247619] [<c005f144>] (process_one_work) from [<c005f534>] (worker_thread+0x3c/0x514) [ 2.256256] [<c005f534>] (worker_thread) from [<c00652b8>] (kthread+0xd4/0xf0) [ 2.263946] [<c00652b8>] (kthread) from [<c000f870>] (ret_from_fork+0x14/0x24) [ 2.271606] ---[ end trace 814b02d2fa769522 ]--- -- Sebastian
Attachment:
signature.asc
Description: PGP signature