During suspend-to-RAM, I see an info message below.   Could anybody
advice how to debug this problem or anyone has experienced this
before?  (ARM mach)

Thanks a lot for any help.

[  172.637547] ======================================================
[  172.637555] [ INFO: possible circular locking dependency detected ]
[  172.637565] 3.10.5+ #1 Not tainted
[  172.637573] -------------------------------------------------------
[  172.637581] kworker/u12:0/6 is trying to acquire lock:
[  172.637628]  (cpu_add_remove_lock){+.+.+.}, at: [<c002973c>]
cpu_maps_update_begin+0x20/0x28
[  172.637635]
[  172.637635] but task is already holding lock:
[  172.637671]  (console_lock){+.+.+.}, at: [<c0028974>]
suspend_console+0x30/0x54
[  172.637679]
[  172.637679] which lock already depends on the new lock.
[  172.637679]
[  172.637686]
[  172.637686] the existing dependency chain (in reverse order) is:
[  172.637714]
[  172.637714] -> #2 (console_lock){+.+.+.}:
[  172.637734]        [<c008d880>] check_prevs_add+0x704/0x874
[  172.637752]        [<c008dfd0>] validate_chain.isra.24+0x5e0/0x9b0
[  172.637769]        [<c00909f0>] __lock_acquire+0x3fc/0xbcc
[  172.637786]        [<c009186c>] lock_acquire+0xa4/0x208
[  172.637804]        [<c002656c>] console_lock+0x70/0x88
[  172.637824]        [<c075f950>] console_cpu_notify+0x28/0x34
[  172.637844]        [<c07733f8>] notifier_call_chain+0x74/0x138
[  172.637864]        [<c0057374>] __raw_notifier_call_chain+0x24/0x2c
[  172.637880]        [<c002953c>] __cpu_notify+0x38/0x54
[  172.637896]        [<c0029578>] cpu_notify+0x20/0x24
[  172.637913]        [<c0029710>] cpu_notify_nofail+0x18/0x24
[  172.637929]        [<c075d9f0>] _cpu_down+0x108/0x2b8
[  172.637946]        [<c075dbd4>] cpu_down+0x34/0x50
[  172.637962]        [<c075e4f4>] store_online+0x40/0x84
[  172.637981]        [<c034e430>] dev_attr_store+0x28/0x34
[  172.638000]        [<c019c4a0>] sysfs_write_file+0x17c/0x1ac
[  172.638018]        [<c01318b4>] vfs_write+0xc0/0x19c
[  172.638034]        [<c0131cb0>] SyS_write+0x4c/0x80
[  172.638053]        [<c000efa0>] ret_fast_syscall+0x0/0x48
[  172.638081]
[  172.638081] -> #1 (cpu_hotplug.lock){+.+.+.}:
[  172.638098]        [<c008d880>] check_prevs_add+0x704/0x874
[  172.638116]        [<c008dfd0>] validate_chain.isra.24+0x5e0/0x9b0
[  172.638132]        [<c00909f0>] __lock_acquire+0x3fc/0xbcc
[  172.638149]        [<c009186c>] lock_acquire+0xa4/0x208
[  172.638166]        [<c076dc78>] mutex_lock_nested+0x74/0x3f8
[  172.638183]        [<c00295b8>] cpu_hotplug_begin+0x3c/0x68
[  172.638200]        [<c075f988>] _cpu_up+0x2c/0x15c
[  172.638216]        [<c075fb24>] cpu_up+0x6c/0x8c
[  172.638236]        [<c0a90774>] smp_init+0x9c/0xd4
[  172.638254]        [<c0a8293c>] kernel_init_freeable+0x78/0x1cc
[  172.638270]        [<c075d694>] kernel_init+0x18/0xf4
[  172.638288]        [<c000f068>] ret_from_fork+0x14/0x20
[  172.638316]
[  172.638316] -> #0 (cpu_add_remove_lock){+.+.+.}:
[  172.638335]        [<c0763aa0>] print_circular_bug+0x70/0x2e4
[  172.638352]        [<c008d9c0>] check_prevs_add+0x844/0x874
[  172.638370]        [<c008dfd0>] validate_chain.isra.24+0x5e0/0x9b0
[  172.638387]        [<c00909f0>] __lock_acquire+0x3fc/0xbcc
[  172.638404]        [<c009186c>] lock_acquire+0xa4/0x208
[  172.638421]        [<c076dc78>] mutex_lock_nested+0x74/0x3f8
[  172.638438]        [<c002973c>] cpu_maps_update_begin+0x20/0x28
[  172.638455]        [<c0029a24>] disable_nonboot_cpus+0x20/0xf4
[  172.638476]        [<c007df64>] suspend_devices_and_enter+0x1b0/0x574
[  172.638494]        [<c007e4f8>] pm_suspend+0x1d0/0x288
[  172.638512]        [<c007e6b0>] try_to_suspend+0xc0/0xdc
[  172.638530]        [<c0047e44>] process_one_work+0x1c8/0x684
[  172.638547]        [<c0048738>] worker_thread+0x144/0x394
[  172.638565]        [<c00508a4>] kthread+0xb4/0xc0
[  172.638582]        [<c000f068>] ret_from_fork+0x14/0x20
[  172.638590]
[  172.638590] other info that might help us debug this:
[  172.638590]
[  172.638630] Chain exists of:
[  172.638630]   cpu_add_remove_lock --> cpu_hotplug.lock --> console_lock
[  172.638630]
[  172.638637]  Possible unsafe locking scenario:
[  172.638637]
[  172.638644]        CPU0                    CPU1
[  172.638651]        ----                    ----
[  172.638668]   lock(console_lock);
[  172.638685]                                lock(cpu_hotplug.lock);
[  172.638703]                                lock(console_lock);
[  172.638720]   lock(cpu_add_remove_lock);
[  172.638726]
[  172.638726]  *** DEADLOCK ***
[  172.638726]
[  172.638735] 5 locks held by kworker/u12:0/6:
[  172.638774]  #0:  (autosleep){.+.+.+}, at: [<c0047db4>]
process_one_work+0x138/0x684
[  172.638813]  #1:  (suspend_work){+.+.+.}, at: [<c0047db4>]
process_one_work+0x138/0x684
[  172.638853]  #2:  (autosleep_lock){+.+.+.}, at: [<c007e628>]
try_to_suspend+0x38/0xdc
[  172.638893]  #3:  (pm_mutex){+.+.+.}, at: [<c007e36c>] pm_suspend+0x44/0x288
[  172.638933]  #4:  (console_lock){+.+.+.}, at: [<c0028974>]
suspend_console+0x30/0x54
[  172.638939]
[  172.638939] stack backtrace:
[  172.638952] CPU: 0 PID: 6 Comm: kworker/u12:0 Not tainted 3.10.5+ #1
[  172.638973] Workqueue: autosleep try_to_suspend
[  172.638997] [<c0016658>] (unwind_backtrace+0x0/0x144) from
[<c00134ec>] (show_stack+0x20/0x24)
[  172.639017] [<c00134ec>] (show_stack+0x20/0x24) from [<c0768c38>]
(dump_stack+0x20/0x28)
[  172.639038] [<c0768c38>] (dump_stack+0x20/0x28) from [<c0763cc0>]
(print_circular_bug+0x290/0x2e4)
[  172.639057] [<c0763cc0>] (print_circular_bug+0x290/0x2e4) from
[<c008d9c0>] (check_prevs_add+0x844/0x874)
[  172.639075] [<c008d9c0>] (check_prevs_add+0x844/0x874) from
[<c008dfd0>] (validate_chain.isra.24+0x5e0/0x9b0)
[  172.639093] [<c008dfd0>] (validate_chain.isra.24+0x5e0/0x9b0) from
[<c00909f0>] (__lock_acquire+0x3fc/0xbcc)
[  172.639111] [<c00909f0>] (__lock_acquire+0x3fc/0xbcc) from
[<c009186c>] (lock_acquire+0xa4/0x208)
[  172.639128] [<c009186c>] (lock_acquire+0xa4/0x208) from
[<c076dc78>] (mutex_lock_nested+0x74/0x3f8)
[  172.639146] [<c076dc78>] (mutex_lock_nested+0x74/0x3f8) from
[<c002973c>] (cpu_maps_update_begin+0x20/0x28)
[  172.639164] [<c002973c>] (cpu_maps_update_begin+0x20/0x28) from
[<c0029a24>] (disable_nonboot_cpus+0x20/0xf4)
[  172.639184] [<c0029a24>] (disable_nonboot_cpus+0x20/0xf4) from
[<c007df64>] (suspend_devices_and_enter+0x1b0/0x574)
[  172.639204] [<c007df64>] (suspend_devices_and_enter+0x1b0/0x574)
from [<c007e4f8>] (pm_suspend+0x1d0/0x288)
[  172.639223] [<c007e4f8>] (pm_suspend+0x1d0/0x288) from [<c007e6b0>]
(try_to_suspend+0xc0/0xdc)
[  172.639242] [<c007e6b0>] (try_to_suspend+0xc0/0xdc) from
[<c0047e44>] (process_one_work+0x1c8/0x684)
[  172.639259] [<c0047e44>] (process_one_work+0x1c8/0x684) from
[<c0048738>] (worker_thread+0x144/0x394)
[  172.639278] [<c0048738>] (worker_thread+0x144/0x394) from
[<c00508a4>] (kthread+0xb4/0xc0)
[  172.639296] [<c00508a4>] (kthread+0xb4/0xc0) from [<c000f068>]
(ret_from_fork+0x14/0x20)
[  172.639307] Disabling non-boot CPUs ...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to