* lockdep: INFO: possible irq lock inversion dependency detected on Odroid U3
@ 2016-02-10 7:27 Anand Moon
2016-02-14 8:52 ` Krzysztof Kozlowski
0 siblings, 1 reply; 4+ messages in thread
From: Anand Moon @ 2016-02-10 7:27 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
I am observing following lockdep info.
[ 139.806823] =========================================================
[ 139.811934] [ INFO: possible irq lock inversion dependency detected ]
[ 139.818362] 4.5.0-rc3-u3s #11 Tainted: G W
[ 139.823566] ---------------------------------------------------------
[ 139.829990] swapper/0/0 just changed the state of lock:
[ 139.835197] (&(&substream->self_group.lock)->rlock){..-...}, at:
[<c04e03cc>] _snd_pcm_stream_lock_irqsave+0x34/0x40
[ 139.845788] but this lock took another, SOFTIRQ-unsafe lock in the past:
[ 139.852468] (&(&pri_dai->spinlock)->rlock){+.+...}
and interrupts could create inverse lock ordering between them.
[ 139.863319]
[ 139.863319] other info that might help us debug this:
[ 139.869830] Possible interrupt unsafe locking scenario:
[ 139.869830]
[ 139.876599] CPU0 CPU1
[ 139.881113] ---- ----
[ 139.885626] lock(&(&pri_dai->spinlock)->rlock);
[ 139.890314] local_irq_disable();
[ 139.896216]
lock(&(&substream->self_group.lock)->rlock);
[ 139.904201]
lock(&(&pri_dai->spinlock)->rlock);
[ 139.911405] <Interrupt>
[ 139.914009] lock(&(&substream->self_group.lock)->rlock);
[ 139.919652]
[ 139.919652] *** DEADLOCK ***
[ 139.919652]
[ 139.925558] 1 lock held by swapper/0/0:
[ 139.929374] #0: (snd_pcm_link_rwlock){...-..}, at: [<c04e0330>]
snd_pcm_stream_lock+0x20/0x50
[ 139.938054]
[ 139.938054] the shortest dependencies between 2nd lock and 1st lock:
[ 139.945893] -> (&(&pri_dai->spinlock)->rlock){+.+...} ops: 37 {
[ 139.951856] HARDIRQ-ON-W at:
[ 139.955067] [<c066b89c>] _raw_spin_lock+0x3c/0x74
[ 139.961663] [<c0500558>] i2s_set_sysclk+0x40/0x464
[ 139.968347] [<c0500e0c>]
samsung_i2s_dai_probe+0x238/0x2b0
[ 139.975725] [<c04ed5f8>] soc_probe_dai.part.2+0x30/0x6c
[ 139.982842] [<c04ee1b8>]
snd_soc_register_card+0x854/0xe64
[ 139.990220] [<c04f9b0c>]
devm_snd_soc_register_card+0x38/0x70
[ 139.997859] [<c04ff0f8>]
asoc_simple_card_probe+0x224/0x460
[ 140.005323] [<c036da6c>] platform_drv_probe+0x4c/0xb0
[ 140.012267] [<c036c2ac>]
driver_probe_device+0x20c/0x2b8
[ 140.019472] [<c036a644>] bus_for_each_drv+0x60/0x94
[ 140.026242] [<c036bfc0>] __device_attach+0xb4/0x118
[ 140.033013] [<c036b464>] bus_probe_device+0x88/0x90
[ 140.039783] [<c036b900>]
deferred_probe_work_func+0x6c/0x9c
[ 140.047248] [<c0043408>] process_one_work+0x1a8/0x514
[ 140.054192] [<c00437ac>] worker_thread+0x38/0x574
[ 140.060789] [<c0049c0c>] kthread+0xf4/0x10c
[ 140.066865] [<c000f890>] ret_from_fork+0x14/0x24
[ 140.073376] SOFTIRQ-ON-W at:
[ 140.076587] [<c066b89c>] _raw_spin_lock+0x3c/0x74
[ 140.083183] [<c0500558>] i2s_set_sysclk+0x40/0x464
[ 140.089867] [<c0500e0c>]
samsung_i2s_dai_probe+0x238/0x2b0
[ 140.097245] [<c04ed5f8>] soc_probe_dai.part.2+0x30/0x6c
[ 140.104362] [<c04ee1b8>]
snd_soc_register_card+0x854/0xe64
[ 140.111740] [<c04f9b0c>]
devm_snd_soc_register_card+0x38/0x70
[ 140.119379] [<c04ff0f8>]
asoc_simple_card_probe+0x224/0x460
[ 140.126843] [<c036da6c>] platform_drv_probe+0x4c/0xb0
[ 140.133787] [<c036c2ac>]
driver_probe_device+0x20c/0x2b8
[ 140.140992] [<c036a644>] bus_for_each_drv+0x60/0x94
[ 140.147762] [<c036bfc0>] __device_attach+0xb4/0x118
[ 140.154533] [<c036b464>] bus_probe_device+0x88/0x90
[ 140.161303] [<c036b900>]
deferred_probe_work_func+0x6c/0x9c
[ 140.168768] [<c0043408>] process_one_work+0x1a8/0x514
[ 140.175712] [<c00437ac>] worker_thread+0x38/0x574
[ 140.182309] [<c0049c0c>] kthread+0xf4/0x10c
[ 140.188385] [<c000f890>] ret_from_fork+0x14/0x24
[ 140.194896] INITIAL USE at:
[ 140.198020] [<c066bb14>]
_raw_spin_lock_irqsave+0x48/0x84
[ 140.205224] [<c04c2d44>] clk_divider_set_rate+0x40/0xc0
[ 140.212255] [<c04c1320>] clk_change_rate+0x17c/0x210
[ 140.219025] [<c04c12b8>] clk_change_rate+0x114/0x210
[ 140.225796] }
[ 140.227532] ... key at: [<c13e2f04>] __key.37532+0x0/0x8
[ 140.233435] ... acquired at:
[ 140.236472] [<c04ffb18>] i2s_trigger+0x40/0x62c
[ 140.241246] [<c04f4d14>] soc_pcm_trigger+0xd0/0x11c
[ 140.246367] [<c04dfe58>] snd_pcm_action_single+0x38/0x80
[ 140.251922] [<c04e1dac>] snd_pcm_common_ioctl1+0x3bc/0xe20
[ 140.257651] [<c04e29b4>] snd_pcm_playback_ioctl1+0x1a4/0x69c
[ 140.263553] [<c01343f8>] do_vfs_ioctl+0xa0/0x9d4
[ 140.268414] [<c0134d60>] SyS_ioctl+0x34/0x5c
[ 140.272927] [<c000f800>] ret_fast_syscall+0x0/0x1c
[ 140.277962]
[ 140.279438] -> (&(&substream->self_group.lock)->rlock){..-...} ops: 153 {
[ 140.286209] IN-SOFTIRQ-W at:
[ 140.289333] [<c066b89c>] _raw_spin_lock+0x3c/0x74
[ 140.295757] [<c04e03cc>]
_snd_pcm_stream_lock_irqsave+0x34/0x40
[ 140.303395] [<c04e6f44>] snd_pcm_period_elapsed+0x1c/0xa0
[ 140.310512] [<c02de5b0>] pl330_tasklet+0x198/0x518
[ 140.317022] [<c002e424>] tasklet_action+0xac/0x164
[ 140.323532] [<c002e6ac>] __do_softirq+0x168/0x2c0
[ 140.329955] [<c002eba8>] irq_exit+0xec/0x128
[ 140.335945] [<c0087314>] __handle_domain_irq+0x80/0xec
[ 140.342802] [<c0009514>] gic_handle_irq+0x54/0x94
[ 140.349225] [<c00144f8>] __irq_svc+0x58/0x98
[ 140.355214] [<c00102f8>] arch_cpu_idle+0x24/0x3c
[ 140.361551] [<c00102f8>] arch_cpu_idle+0x24/0x3c
[ 140.367887] [<c006d5d4>] cpu_startup_entry+0x1f4/0x280
[ 140.374744] [<c08c8ccc>] start_kernel+0x3ec/0x3f8
[ 140.381169] INITIAL USE at:
[ 140.384205] [<c066b89c>] _raw_spin_lock+0x3c/0x74
[ 140.390542] [<c04e0850>] snd_pcm_sync_ptr+0xf8/0x1e0
[ 140.397139] [<c04e1e68>] snd_pcm_common_ioctl1+0x478/0xe20
[ 140.404256] [<c04e3078>]
snd_pcm_capture_ioctl1+0x1a4/0x688
[ 140.411461] [<c01343f8>] do_vfs_ioctl+0xa0/0x9d4
[ 140.417710] [<c0134d60>] SyS_ioctl+0x34/0x5c
[ 140.423613] [<c000f800>] ret_fast_syscall+0x0/0x1c
[ 140.430036] }
[ 140.431685] ... key at: [<c13e2be8>] __key.29136+0x0/0x8
[ 140.437501] ... acquired at:
[ 140.440452] [<c0079630>] __lock_acquire+0x774/0x1ee0
[ 140.445659] [<c007b390>] lock_acquire+0xa8/0xd0
[ 140.450433] [<c066b89c>] _raw_spin_lock+0x3c/0x74
[ 140.455381] [<c04e03cc>] _snd_pcm_stream_lock_irqsave+0x34/0x40
[ 140.461544] [<c04e6f44>] snd_pcm_period_elapsed+0x1c/0xa0
[ 140.467186] [<c02de5b0>] pl330_tasklet+0x198/0x518
[ 140.472220] [<c002e424>] tasklet_action+0xac/0x164
[ 140.477255] [<c002e6ac>] __do_softirq+0x168/0x2c0
[ 140.482202] [<c002eba8>] irq_exit+0xec/0x128
[ 140.486716] [<c0087314>] __handle_domain_irq+0x80/0xec
[ 140.492097] [<c0009514>] gic_handle_irq+0x54/0x94
[ 140.497044] [<c00144f8>] __irq_svc+0x58/0x98
[ 140.501559] [<c00102f8>] arch_cpu_idle+0x24/0x3c
[ 140.506420] [<c00102f8>] arch_cpu_idle+0x24/0x3c
[ 140.511280] [<c006d5d4>] cpu_startup_entry+0x1f4/0x280
[ 140.516662] [<c08c8ccc>] start_kernel+0x3ec/0x3f8
[ 140.521609]
[ 140.523086]
[ 140.523086] stack backtrace:
[ 140.527435] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
4.5.0-rc3-u3s #11
[ 140.535240] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 140.541339] [<c0016d6c>] (unwind_backtrace) from [<c00139f8>]
(show_stack+0x10/0x14)
[ 140.549063] [<c00139f8>] (show_stack) from [<c0283884>]
(dump_stack+0x98/0xc4)
[ 140.556263] [<c0283884>] (dump_stack) from [<c0075458>]
(print_irq_inversion_bug+0x1d4/0x21c)
[ 140.564766] [<c0075458>] (print_irq_inversion_bug) from
[<c0075550>] (check_usage_forwards+0xb0/0x10c)
[ 140.574051] [<c0075550>] (check_usage_forwards) from [<c00764f8>]
(mark_lock+0x370/0x81c)
[ 140.582211] [<c00764f8>] (mark_lock) from [<c0079630>]
(__lock_acquire+0x774/0x1ee0)
[ 140.589936] [<c0079630>] (__lock_acquire) from [<c007b390>]
(lock_acquire+0xa8/0xd0)
[ 140.597665] [<c007b390>] (lock_acquire) from [<c066b89c>]
(_raw_spin_lock+0x3c/0x74)
[ 140.605389] [<c066b89c>] (_raw_spin_lock) from [<c04e03cc>]
(_snd_pcm_stream_lock_irqsave+0x34/0x40)
[ 140.614503] [<c04e03cc>] (_snd_pcm_stream_lock_irqsave) from
[<c04e6f44>] (snd_pcm_period_elapsed+0x1c/0xa0)
[ 140.624313] [<c04e6f44>] (snd_pcm_period_elapsed) from [<c02de5b0>]
(pl330_tasklet+0x198/0x518)
[ 140.632993] [<c02de5b0>] (pl330_tasklet) from [<c002e424>]
(tasklet_action+0xac/0x164)
[ 140.640890] [<c002e424>] (tasklet_action) from [<c002e6ac>]
(__do_softirq+0x168/0x2c0)
[ 140.648787] [<c002e6ac>] (__do_softirq) from [<c002eba8>]
(irq_exit+0xec/0x128)
[ 140.656080] [<c002eba8>] (irq_exit) from [<c0087314>]
(__handle_domain_irq+0x80/0xec)
[ 140.663889] [<c0087314>] (__handle_domain_irq) from [<c0009514>]
(gic_handle_irq+0x54/0x94)
[ 140.672219] [<c0009514>] (gic_handle_irq) from [<c00144f8>]
(__irq_svc+0x58/0x98)
[ 140.679677] Exception stack(0xc0aa5f50 to 0xc0aa5f98)
[ 140.684716] 5f40: 00000000
2e0b1000 00000000 c0aaa540
[ 140.692879] 5f60: c0aa4000 c0aa655c 00000000 00000000 c0aa5fa8
c093d49c c0aa65bc c0aa65c4
[ 140.701035] 5f80: 00000000 c0aa5fa0 c0076b38 c00102f8 20030053 ffffffff
[ 140.707637] [<c00144f8>] (__irq_svc) from [<c00102f8>]
(arch_cpu_idle+0x24/0x3c)
[ 140.715014] [<c00102f8>] (arch_cpu_idle) from [<c006d5d4>]
(cpu_startup_entry+0x1f4/0x280)
[ 140.723265] [<c006d5d4>] (cpu_startup_entry) from [<c08c8ccc>]
(start_kernel+0x3ec/0x3f8)
Best Regards
-Anand Moon
^ permalink raw reply [flat|nested] 4+ messages in thread
* lockdep: INFO: possible irq lock inversion dependency detected on Odroid U3
2016-02-10 7:27 lockdep: INFO: possible irq lock inversion dependency detected on Odroid U3 Anand Moon
@ 2016-02-14 8:52 ` Krzysztof Kozlowski
2016-02-14 11:46 ` Anand Moon
2016-02-14 19:12 ` Anand Moon
0 siblings, 2 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2016-02-14 8:52 UTC (permalink / raw)
To: linux-arm-kernel
W dniu 10.02.2016 o 16:27, Anand Moon pisze:
> Hi all,
>
> I am observing following lockdep info.
Hi,
Thanks for report. When pasting dmesg output, please do not wrap the
lines because it is difficult to read it.
This looks like known issue:
https://wiki.tizen.org/wiki/Exynos_Mainline_Kernel_TODO/Odroid_XU3_lockdep_warn_during_music_playback
Waiting for someone brave enough to fix it...
But actually more important item is following real lockup, failing
multi_v7 boot ~20% of times:
http://www.krzk.eu/builders/boot-odroid-xu3-multi_v7/builds/34
http://www.krzk.eu/builders/boot-odroid-xu3-multi_v7
Best regards,
Krzysztof
>
> [ 139.806823] =========================================================
> [ 139.811934] [ INFO: possible irq lock inversion dependency detected ]
> [ 139.818362] 4.5.0-rc3-u3s #11 Tainted: G W
> [ 139.823566] ---------------------------------------------------------
> [ 139.829990] swapper/0/0 just changed the state of lock:
> [ 139.835197] (&(&substream->self_group.lock)->rlock){..-...}, at:
> [<c04e03cc>] _snd_pcm_stream_lock_irqsave+0x34/0x40
> [ 139.845788] but this lock took another, SOFTIRQ-unsafe lock in the past:
> [ 139.852468] (&(&pri_dai->spinlock)->rlock){+.+...}
>
> and interrupts could create inverse lock ordering between them.
>
> [ 139.863319]
> [ 139.863319] other info that might help us debug this:
> [ 139.869830] Possible interrupt unsafe locking scenario:
> [ 139.869830]
> [ 139.876599] CPU0 CPU1
> [ 139.881113] ---- ----
> [ 139.885626] lock(&(&pri_dai->spinlock)->rlock);
> [ 139.890314] local_irq_disable();
> [ 139.896216]
> lock(&(&substream->self_group.lock)->rlock);
> [ 139.904201]
> lock(&(&pri_dai->spinlock)->rlock);
> [ 139.911405] <Interrupt>
> [ 139.914009] lock(&(&substream->self_group.lock)->rlock);
> [ 139.919652]
> [ 139.919652] *** DEADLOCK ***
> [ 139.919652]
> [ 139.925558] 1 lock held by swapper/0/0:
> [ 139.929374] #0: (snd_pcm_link_rwlock){...-..}, at: [<c04e0330>]
> snd_pcm_stream_lock+0x20/0x50
> [ 139.938054]
> [ 139.938054] the shortest dependencies between 2nd lock and 1st lock:
> [ 139.945893] -> (&(&pri_dai->spinlock)->rlock){+.+...} ops: 37 {
> [ 139.951856] HARDIRQ-ON-W at:
> [ 139.955067] [<c066b89c>] _raw_spin_lock+0x3c/0x74
> [ 139.961663] [<c0500558>] i2s_set_sysclk+0x40/0x464
> [ 139.968347] [<c0500e0c>]
> samsung_i2s_dai_probe+0x238/0x2b0
> [ 139.975725] [<c04ed5f8>] soc_probe_dai.part.2+0x30/0x6c
> [ 139.982842] [<c04ee1b8>]
> snd_soc_register_card+0x854/0xe64
> [ 139.990220] [<c04f9b0c>]
> devm_snd_soc_register_card+0x38/0x70
> [ 139.997859] [<c04ff0f8>]
> asoc_simple_card_probe+0x224/0x460
> [ 140.005323] [<c036da6c>] platform_drv_probe+0x4c/0xb0
> [ 140.012267] [<c036c2ac>]
> driver_probe_device+0x20c/0x2b8
> [ 140.019472] [<c036a644>] bus_for_each_drv+0x60/0x94
> [ 140.026242] [<c036bfc0>] __device_attach+0xb4/0x118
> [ 140.033013] [<c036b464>] bus_probe_device+0x88/0x90
> [ 140.039783] [<c036b900>]
> deferred_probe_work_func+0x6c/0x9c
> [ 140.047248] [<c0043408>] process_one_work+0x1a8/0x514
> [ 140.054192] [<c00437ac>] worker_thread+0x38/0x574
> [ 140.060789] [<c0049c0c>] kthread+0xf4/0x10c
> [ 140.066865] [<c000f890>] ret_from_fork+0x14/0x24
> [ 140.073376] SOFTIRQ-ON-W at:
> [ 140.076587] [<c066b89c>] _raw_spin_lock+0x3c/0x74
> [ 140.083183] [<c0500558>] i2s_set_sysclk+0x40/0x464
> [ 140.089867] [<c0500e0c>]
> samsung_i2s_dai_probe+0x238/0x2b0
> [ 140.097245] [<c04ed5f8>] soc_probe_dai.part.2+0x30/0x6c
> [ 140.104362] [<c04ee1b8>]
> snd_soc_register_card+0x854/0xe64
> [ 140.111740] [<c04f9b0c>]
> devm_snd_soc_register_card+0x38/0x70
> [ 140.119379] [<c04ff0f8>]
> asoc_simple_card_probe+0x224/0x460
> [ 140.126843] [<c036da6c>] platform_drv_probe+0x4c/0xb0
> [ 140.133787] [<c036c2ac>]
> driver_probe_device+0x20c/0x2b8
> [ 140.140992] [<c036a644>] bus_for_each_drv+0x60/0x94
> [ 140.147762] [<c036bfc0>] __device_attach+0xb4/0x118
> [ 140.154533] [<c036b464>] bus_probe_device+0x88/0x90
> [ 140.161303] [<c036b900>]
> deferred_probe_work_func+0x6c/0x9c
> [ 140.168768] [<c0043408>] process_one_work+0x1a8/0x514
> [ 140.175712] [<c00437ac>] worker_thread+0x38/0x574
> [ 140.182309] [<c0049c0c>] kthread+0xf4/0x10c
> [ 140.188385] [<c000f890>] ret_from_fork+0x14/0x24
> [ 140.194896] INITIAL USE at:
> [ 140.198020] [<c066bb14>]
> _raw_spin_lock_irqsave+0x48/0x84
> [ 140.205224] [<c04c2d44>] clk_divider_set_rate+0x40/0xc0
> [ 140.212255] [<c04c1320>] clk_change_rate+0x17c/0x210
> [ 140.219025] [<c04c12b8>] clk_change_rate+0x114/0x210
> [ 140.225796] }
> [ 140.227532] ... key at: [<c13e2f04>] __key.37532+0x0/0x8
> [ 140.233435] ... acquired at:
> [ 140.236472] [<c04ffb18>] i2s_trigger+0x40/0x62c
> [ 140.241246] [<c04f4d14>] soc_pcm_trigger+0xd0/0x11c
> [ 140.246367] [<c04dfe58>] snd_pcm_action_single+0x38/0x80
> [ 140.251922] [<c04e1dac>] snd_pcm_common_ioctl1+0x3bc/0xe20
> [ 140.257651] [<c04e29b4>] snd_pcm_playback_ioctl1+0x1a4/0x69c
> [ 140.263553] [<c01343f8>] do_vfs_ioctl+0xa0/0x9d4
> [ 140.268414] [<c0134d60>] SyS_ioctl+0x34/0x5c
> [ 140.272927] [<c000f800>] ret_fast_syscall+0x0/0x1c
> [ 140.277962]
> [ 140.279438] -> (&(&substream->self_group.lock)->rlock){..-...} ops: 153 {
> [ 140.286209] IN-SOFTIRQ-W at:
> [ 140.289333] [<c066b89c>] _raw_spin_lock+0x3c/0x74
> [ 140.295757] [<c04e03cc>]
> _snd_pcm_stream_lock_irqsave+0x34/0x40
> [ 140.303395] [<c04e6f44>] snd_pcm_period_elapsed+0x1c/0xa0
> [ 140.310512] [<c02de5b0>] pl330_tasklet+0x198/0x518
> [ 140.317022] [<c002e424>] tasklet_action+0xac/0x164
> [ 140.323532] [<c002e6ac>] __do_softirq+0x168/0x2c0
> [ 140.329955] [<c002eba8>] irq_exit+0xec/0x128
> [ 140.335945] [<c0087314>] __handle_domain_irq+0x80/0xec
> [ 140.342802] [<c0009514>] gic_handle_irq+0x54/0x94
> [ 140.349225] [<c00144f8>] __irq_svc+0x58/0x98
> [ 140.355214] [<c00102f8>] arch_cpu_idle+0x24/0x3c
> [ 140.361551] [<c00102f8>] arch_cpu_idle+0x24/0x3c
> [ 140.367887] [<c006d5d4>] cpu_startup_entry+0x1f4/0x280
> [ 140.374744] [<c08c8ccc>] start_kernel+0x3ec/0x3f8
> [ 140.381169] INITIAL USE at:
> [ 140.384205] [<c066b89c>] _raw_spin_lock+0x3c/0x74
> [ 140.390542] [<c04e0850>] snd_pcm_sync_ptr+0xf8/0x1e0
> [ 140.397139] [<c04e1e68>] snd_pcm_common_ioctl1+0x478/0xe20
> [ 140.404256] [<c04e3078>]
> snd_pcm_capture_ioctl1+0x1a4/0x688
> [ 140.411461] [<c01343f8>] do_vfs_ioctl+0xa0/0x9d4
> [ 140.417710] [<c0134d60>] SyS_ioctl+0x34/0x5c
> [ 140.423613] [<c000f800>] ret_fast_syscall+0x0/0x1c
> [ 140.430036] }
> [ 140.431685] ... key at: [<c13e2be8>] __key.29136+0x0/0x8
> [ 140.437501] ... acquired at:
> [ 140.440452] [<c0079630>] __lock_acquire+0x774/0x1ee0
> [ 140.445659] [<c007b390>] lock_acquire+0xa8/0xd0
> [ 140.450433] [<c066b89c>] _raw_spin_lock+0x3c/0x74
> [ 140.455381] [<c04e03cc>] _snd_pcm_stream_lock_irqsave+0x34/0x40
> [ 140.461544] [<c04e6f44>] snd_pcm_period_elapsed+0x1c/0xa0
> [ 140.467186] [<c02de5b0>] pl330_tasklet+0x198/0x518
> [ 140.472220] [<c002e424>] tasklet_action+0xac/0x164
> [ 140.477255] [<c002e6ac>] __do_softirq+0x168/0x2c0
> [ 140.482202] [<c002eba8>] irq_exit+0xec/0x128
> [ 140.486716] [<c0087314>] __handle_domain_irq+0x80/0xec
> [ 140.492097] [<c0009514>] gic_handle_irq+0x54/0x94
> [ 140.497044] [<c00144f8>] __irq_svc+0x58/0x98
> [ 140.501559] [<c00102f8>] arch_cpu_idle+0x24/0x3c
> [ 140.506420] [<c00102f8>] arch_cpu_idle+0x24/0x3c
> [ 140.511280] [<c006d5d4>] cpu_startup_entry+0x1f4/0x280
> [ 140.516662] [<c08c8ccc>] start_kernel+0x3ec/0x3f8
> [ 140.521609]
> [ 140.523086]
> [ 140.523086] stack backtrace:
> [ 140.527435] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
> 4.5.0-rc3-u3s #11
> [ 140.535240] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 140.541339] [<c0016d6c>] (unwind_backtrace) from [<c00139f8>]
> (show_stack+0x10/0x14)
> [ 140.549063] [<c00139f8>] (show_stack) from [<c0283884>]
> (dump_stack+0x98/0xc4)
> [ 140.556263] [<c0283884>] (dump_stack) from [<c0075458>]
> (print_irq_inversion_bug+0x1d4/0x21c)
> [ 140.564766] [<c0075458>] (print_irq_inversion_bug) from
> [<c0075550>] (check_usage_forwards+0xb0/0x10c)
> [ 140.574051] [<c0075550>] (check_usage_forwards) from [<c00764f8>]
> (mark_lock+0x370/0x81c)
> [ 140.582211] [<c00764f8>] (mark_lock) from [<c0079630>]
> (__lock_acquire+0x774/0x1ee0)
> [ 140.589936] [<c0079630>] (__lock_acquire) from [<c007b390>]
> (lock_acquire+0xa8/0xd0)
> [ 140.597665] [<c007b390>] (lock_acquire) from [<c066b89c>]
> (_raw_spin_lock+0x3c/0x74)
> [ 140.605389] [<c066b89c>] (_raw_spin_lock) from [<c04e03cc>]
> (_snd_pcm_stream_lock_irqsave+0x34/0x40)
> [ 140.614503] [<c04e03cc>] (_snd_pcm_stream_lock_irqsave) from
> [<c04e6f44>] (snd_pcm_period_elapsed+0x1c/0xa0)
> [ 140.624313] [<c04e6f44>] (snd_pcm_period_elapsed) from [<c02de5b0>]
> (pl330_tasklet+0x198/0x518)
> [ 140.632993] [<c02de5b0>] (pl330_tasklet) from [<c002e424>]
> (tasklet_action+0xac/0x164)
> [ 140.640890] [<c002e424>] (tasklet_action) from [<c002e6ac>]
> (__do_softirq+0x168/0x2c0)
> [ 140.648787] [<c002e6ac>] (__do_softirq) from [<c002eba8>]
> (irq_exit+0xec/0x128)
> [ 140.656080] [<c002eba8>] (irq_exit) from [<c0087314>]
> (__handle_domain_irq+0x80/0xec)
> [ 140.663889] [<c0087314>] (__handle_domain_irq) from [<c0009514>]
> (gic_handle_irq+0x54/0x94)
> [ 140.672219] [<c0009514>] (gic_handle_irq) from [<c00144f8>]
> (__irq_svc+0x58/0x98)
> [ 140.679677] Exception stack(0xc0aa5f50 to 0xc0aa5f98)
> [ 140.684716] 5f40: 00000000
> 2e0b1000 00000000 c0aaa540
> [ 140.692879] 5f60: c0aa4000 c0aa655c 00000000 00000000 c0aa5fa8
> c093d49c c0aa65bc c0aa65c4
> [ 140.701035] 5f80: 00000000 c0aa5fa0 c0076b38 c00102f8 20030053 ffffffff
> [ 140.707637] [<c00144f8>] (__irq_svc) from [<c00102f8>]
> (arch_cpu_idle+0x24/0x3c)
> [ 140.715014] [<c00102f8>] (arch_cpu_idle) from [<c006d5d4>]
> (cpu_startup_entry+0x1f4/0x280)
> [ 140.723265] [<c006d5d4>] (cpu_startup_entry) from [<c08c8ccc>]
> (start_kernel+0x3ec/0x3f8)
>
> Best Regards
> -Anand Moon
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* lockdep: INFO: possible irq lock inversion dependency detected on Odroid U3
2016-02-14 8:52 ` Krzysztof Kozlowski
@ 2016-02-14 11:46 ` Anand Moon
2016-02-14 19:12 ` Anand Moon
1 sibling, 0 replies; 4+ messages in thread
From: Anand Moon @ 2016-02-14 11:46 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof,
On 14 February 2016 at 14:22, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> W dniu 10.02.2016 o 16:27, Anand Moon pisze:
>> Hi all,
>>
>> I am observing following lockdep info.
>
> Hi,
>
> Thanks for report. When pasting dmesg output, please do not wrap the
> lines because it is difficult to read it.
>
> This looks like known issue:
> https://wiki.tizen.org/wiki/Exynos_Mainline_Kernel_TODO/Odroid_XU3_lockdep_warn_during_music_playback
>
> Waiting for someone brave enough to fix it...
>
> But actually more important item is following real lockup, failing
> multi_v7 boot ~20% of times:
> http://www.krzk.eu/builders/boot-odroid-xu3-multi_v7/builds/34
> http://www.krzk.eu/builders/boot-odroid-xu3-multi_v7
>
> Best regards,
> Krzysztof
>
Next time I will be much cleaner logs.
Thanks for the conformation on this, well I have tried to solve this
issue, but failed.
>From my understanding it's like IRQ locks that are being hold up by
the pl330 dma module.
But this module also have related to serial driver. So I got but stuck up.
Well I will keep on trying, If I have some thing I will share that.
-Anand Moon
>>
>> [ 139.806823] =========================================================
>> [ 139.811934] [ INFO: possible irq lock inversion dependency detected ]
>> [ 139.818362] 4.5.0-rc3-u3s #11 Tainted: G W
>> [ 139.823566] ---------------------------------------------------------
>> [ 139.829990] swapper/0/0 just changed the state of lock:
>> [ 139.835197] (&(&substream->self_group.lock)->rlock){..-...}, at:
>> [<c04e03cc>] _snd_pcm_stream_lock_irqsave+0x34/0x40
>> [ 139.845788] but this lock took another, SOFTIRQ-unsafe lock in the past:
>> [ 139.852468] (&(&pri_dai->spinlock)->rlock){+.+...}
>>
>> and interrupts could create inverse lock ordering between them.
>>
>> [ 139.863319]
>> [ 139.863319] other info that might help us debug this:
>> [ 139.869830] Possible interrupt unsafe locking scenario:
>> [ 139.869830]
>> [ 139.876599] CPU0 CPU1
>> [ 139.881113] ---- ----
>> [ 139.885626] lock(&(&pri_dai->spinlock)->rlock);
>> [ 139.890314] local_irq_disable();
>> [ 139.896216]
>> lock(&(&substream->self_group.lock)->rlock);
>> [ 139.904201]
>> lock(&(&pri_dai->spinlock)->rlock);
>> [ 139.911405] <Interrupt>
>> [ 139.914009] lock(&(&substream->self_group.lock)->rlock);
>> [ 139.919652]
>> [ 139.919652] *** DEADLOCK ***
>> [ 139.919652]
>> [ 139.925558] 1 lock held by swapper/0/0:
>> [ 139.929374] #0: (snd_pcm_link_rwlock){...-..}, at: [<c04e0330>]
>> snd_pcm_stream_lock+0x20/0x50
>> [ 139.938054]
>> [ 139.938054] the shortest dependencies between 2nd lock and 1st lock:
>> [ 139.945893] -> (&(&pri_dai->spinlock)->rlock){+.+...} ops: 37 {
>> [ 139.951856] HARDIRQ-ON-W at:
>> [ 139.955067] [<c066b89c>] _raw_spin_lock+0x3c/0x74
>> [ 139.961663] [<c0500558>] i2s_set_sysclk+0x40/0x464
>> [ 139.968347] [<c0500e0c>]
>> samsung_i2s_dai_probe+0x238/0x2b0
>> [ 139.975725] [<c04ed5f8>] soc_probe_dai.part.2+0x30/0x6c
>> [ 139.982842] [<c04ee1b8>]
>> snd_soc_register_card+0x854/0xe64
>> [ 139.990220] [<c04f9b0c>]
>> devm_snd_soc_register_card+0x38/0x70
>> [ 139.997859] [<c04ff0f8>]
>> asoc_simple_card_probe+0x224/0x460
>> [ 140.005323] [<c036da6c>] platform_drv_probe+0x4c/0xb0
>> [ 140.012267] [<c036c2ac>]
>> driver_probe_device+0x20c/0x2b8
>> [ 140.019472] [<c036a644>] bus_for_each_drv+0x60/0x94
>> [ 140.026242] [<c036bfc0>] __device_attach+0xb4/0x118
>> [ 140.033013] [<c036b464>] bus_probe_device+0x88/0x90
>> [ 140.039783] [<c036b900>]
>> deferred_probe_work_func+0x6c/0x9c
>> [ 140.047248] [<c0043408>] process_one_work+0x1a8/0x514
>> [ 140.054192] [<c00437ac>] worker_thread+0x38/0x574
>> [ 140.060789] [<c0049c0c>] kthread+0xf4/0x10c
>> [ 140.066865] [<c000f890>] ret_from_fork+0x14/0x24
>> [ 140.073376] SOFTIRQ-ON-W at:
>> [ 140.076587] [<c066b89c>] _raw_spin_lock+0x3c/0x74
>> [ 140.083183] [<c0500558>] i2s_set_sysclk+0x40/0x464
>> [ 140.089867] [<c0500e0c>]
>> samsung_i2s_dai_probe+0x238/0x2b0
>> [ 140.097245] [<c04ed5f8>] soc_probe_dai.part.2+0x30/0x6c
>> [ 140.104362] [<c04ee1b8>]
>> snd_soc_register_card+0x854/0xe64
>> [ 140.111740] [<c04f9b0c>]
>> devm_snd_soc_register_card+0x38/0x70
>> [ 140.119379] [<c04ff0f8>]
>> asoc_simple_card_probe+0x224/0x460
>> [ 140.126843] [<c036da6c>] platform_drv_probe+0x4c/0xb0
>> [ 140.133787] [<c036c2ac>]
>> driver_probe_device+0x20c/0x2b8
>> [ 140.140992] [<c036a644>] bus_for_each_drv+0x60/0x94
>> [ 140.147762] [<c036bfc0>] __device_attach+0xb4/0x118
>> [ 140.154533] [<c036b464>] bus_probe_device+0x88/0x90
>> [ 140.161303] [<c036b900>]
>> deferred_probe_work_func+0x6c/0x9c
>> [ 140.168768] [<c0043408>] process_one_work+0x1a8/0x514
>> [ 140.175712] [<c00437ac>] worker_thread+0x38/0x574
>> [ 140.182309] [<c0049c0c>] kthread+0xf4/0x10c
>> [ 140.188385] [<c000f890>] ret_from_fork+0x14/0x24
>> [ 140.194896] INITIAL USE at:
>> [ 140.198020] [<c066bb14>]
>> _raw_spin_lock_irqsave+0x48/0x84
>> [ 140.205224] [<c04c2d44>] clk_divider_set_rate+0x40/0xc0
>> [ 140.212255] [<c04c1320>] clk_change_rate+0x17c/0x210
>> [ 140.219025] [<c04c12b8>] clk_change_rate+0x114/0x210
>> [ 140.225796] }
>> [ 140.227532] ... key at: [<c13e2f04>] __key.37532+0x0/0x8
>> [ 140.233435] ... acquired at:
>> [ 140.236472] [<c04ffb18>] i2s_trigger+0x40/0x62c
>> [ 140.241246] [<c04f4d14>] soc_pcm_trigger+0xd0/0x11c
>> [ 140.246367] [<c04dfe58>] snd_pcm_action_single+0x38/0x80
>> [ 140.251922] [<c04e1dac>] snd_pcm_common_ioctl1+0x3bc/0xe20
>> [ 140.257651] [<c04e29b4>] snd_pcm_playback_ioctl1+0x1a4/0x69c
>> [ 140.263553] [<c01343f8>] do_vfs_ioctl+0xa0/0x9d4
>> [ 140.268414] [<c0134d60>] SyS_ioctl+0x34/0x5c
>> [ 140.272927] [<c000f800>] ret_fast_syscall+0x0/0x1c
>> [ 140.277962]
>> [ 140.279438] -> (&(&substream->self_group.lock)->rlock){..-...} ops: 153 {
>> [ 140.286209] IN-SOFTIRQ-W at:
>> [ 140.289333] [<c066b89c>] _raw_spin_lock+0x3c/0x74
>> [ 140.295757] [<c04e03cc>]
>> _snd_pcm_stream_lock_irqsave+0x34/0x40
>> [ 140.303395] [<c04e6f44>] snd_pcm_period_elapsed+0x1c/0xa0
>> [ 140.310512] [<c02de5b0>] pl330_tasklet+0x198/0x518
>> [ 140.317022] [<c002e424>] tasklet_action+0xac/0x164
>> [ 140.323532] [<c002e6ac>] __do_softirq+0x168/0x2c0
>> [ 140.329955] [<c002eba8>] irq_exit+0xec/0x128
>> [ 140.335945] [<c0087314>] __handle_domain_irq+0x80/0xec
>> [ 140.342802] [<c0009514>] gic_handle_irq+0x54/0x94
>> [ 140.349225] [<c00144f8>] __irq_svc+0x58/0x98
>> [ 140.355214] [<c00102f8>] arch_cpu_idle+0x24/0x3c
>> [ 140.361551] [<c00102f8>] arch_cpu_idle+0x24/0x3c
>> [ 140.367887] [<c006d5d4>] cpu_startup_entry+0x1f4/0x280
>> [ 140.374744] [<c08c8ccc>] start_kernel+0x3ec/0x3f8
>> [ 140.381169] INITIAL USE at:
>> [ 140.384205] [<c066b89c>] _raw_spin_lock+0x3c/0x74
>> [ 140.390542] [<c04e0850>] snd_pcm_sync_ptr+0xf8/0x1e0
>> [ 140.397139] [<c04e1e68>] snd_pcm_common_ioctl1+0x478/0xe20
>> [ 140.404256] [<c04e3078>]
>> snd_pcm_capture_ioctl1+0x1a4/0x688
>> [ 140.411461] [<c01343f8>] do_vfs_ioctl+0xa0/0x9d4
>> [ 140.417710] [<c0134d60>] SyS_ioctl+0x34/0x5c
>> [ 140.423613] [<c000f800>] ret_fast_syscall+0x0/0x1c
>> [ 140.430036] }
>> [ 140.431685] ... key at: [<c13e2be8>] __key.29136+0x0/0x8
>> [ 140.437501] ... acquired at:
>> [ 140.440452] [<c0079630>] __lock_acquire+0x774/0x1ee0
>> [ 140.445659] [<c007b390>] lock_acquire+0xa8/0xd0
>> [ 140.450433] [<c066b89c>] _raw_spin_lock+0x3c/0x74
>> [ 140.455381] [<c04e03cc>] _snd_pcm_stream_lock_irqsave+0x34/0x40
>> [ 140.461544] [<c04e6f44>] snd_pcm_period_elapsed+0x1c/0xa0
>> [ 140.467186] [<c02de5b0>] pl330_tasklet+0x198/0x518
>> [ 140.472220] [<c002e424>] tasklet_action+0xac/0x164
>> [ 140.477255] [<c002e6ac>] __do_softirq+0x168/0x2c0
>> [ 140.482202] [<c002eba8>] irq_exit+0xec/0x128
>> [ 140.486716] [<c0087314>] __handle_domain_irq+0x80/0xec
>> [ 140.492097] [<c0009514>] gic_handle_irq+0x54/0x94
>> [ 140.497044] [<c00144f8>] __irq_svc+0x58/0x98
>> [ 140.501559] [<c00102f8>] arch_cpu_idle+0x24/0x3c
>> [ 140.506420] [<c00102f8>] arch_cpu_idle+0x24/0x3c
>> [ 140.511280] [<c006d5d4>] cpu_startup_entry+0x1f4/0x280
>> [ 140.516662] [<c08c8ccc>] start_kernel+0x3ec/0x3f8
>> [ 140.521609]
>> [ 140.523086]
>> [ 140.523086] stack backtrace:
>> [ 140.527435] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
>> 4.5.0-rc3-u3s #11
>> [ 140.535240] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>> [ 140.541339] [<c0016d6c>] (unwind_backtrace) from [<c00139f8>]
>> (show_stack+0x10/0x14)
>> [ 140.549063] [<c00139f8>] (show_stack) from [<c0283884>]
>> (dump_stack+0x98/0xc4)
>> [ 140.556263] [<c0283884>] (dump_stack) from [<c0075458>]
>> (print_irq_inversion_bug+0x1d4/0x21c)
>> [ 140.564766] [<c0075458>] (print_irq_inversion_bug) from
>> [<c0075550>] (check_usage_forwards+0xb0/0x10c)
>> [ 140.574051] [<c0075550>] (check_usage_forwards) from [<c00764f8>]
>> (mark_lock+0x370/0x81c)
>> [ 140.582211] [<c00764f8>] (mark_lock) from [<c0079630>]
>> (__lock_acquire+0x774/0x1ee0)
>> [ 140.589936] [<c0079630>] (__lock_acquire) from [<c007b390>]
>> (lock_acquire+0xa8/0xd0)
>> [ 140.597665] [<c007b390>] (lock_acquire) from [<c066b89c>]
>> (_raw_spin_lock+0x3c/0x74)
>> [ 140.605389] [<c066b89c>] (_raw_spin_lock) from [<c04e03cc>]
>> (_snd_pcm_stream_lock_irqsave+0x34/0x40)
>> [ 140.614503] [<c04e03cc>] (_snd_pcm_stream_lock_irqsave) from
>> [<c04e6f44>] (snd_pcm_period_elapsed+0x1c/0xa0)
>> [ 140.624313] [<c04e6f44>] (snd_pcm_period_elapsed) from [<c02de5b0>]
>> (pl330_tasklet+0x198/0x518)
>> [ 140.632993] [<c02de5b0>] (pl330_tasklet) from [<c002e424>]
>> (tasklet_action+0xac/0x164)
>> [ 140.640890] [<c002e424>] (tasklet_action) from [<c002e6ac>]
>> (__do_softirq+0x168/0x2c0)
>> [ 140.648787] [<c002e6ac>] (__do_softirq) from [<c002eba8>]
>> (irq_exit+0xec/0x128)
>> [ 140.656080] [<c002eba8>] (irq_exit) from [<c0087314>]
>> (__handle_domain_irq+0x80/0xec)
>> [ 140.663889] [<c0087314>] (__handle_domain_irq) from [<c0009514>]
>> (gic_handle_irq+0x54/0x94)
>> [ 140.672219] [<c0009514>] (gic_handle_irq) from [<c00144f8>]
>> (__irq_svc+0x58/0x98)
>> [ 140.679677] Exception stack(0xc0aa5f50 to 0xc0aa5f98)
>> [ 140.684716] 5f40: 00000000
>> 2e0b1000 00000000 c0aaa540
>> [ 140.692879] 5f60: c0aa4000 c0aa655c 00000000 00000000 c0aa5fa8
>> c093d49c c0aa65bc c0aa65c4
>> [ 140.701035] 5f80: 00000000 c0aa5fa0 c0076b38 c00102f8 20030053 ffffffff
>> [ 140.707637] [<c00144f8>] (__irq_svc) from [<c00102f8>]
>> (arch_cpu_idle+0x24/0x3c)
>> [ 140.715014] [<c00102f8>] (arch_cpu_idle) from [<c006d5d4>]
>> (cpu_startup_entry+0x1f4/0x280)
>> [ 140.723265] [<c006d5d4>] (cpu_startup_entry) from [<c08c8ccc>]
>> (start_kernel+0x3ec/0x3f8)
>>
>> Best Regards
>> -Anand Moon
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* lockdep: INFO: possible irq lock inversion dependency detected on Odroid U3
2016-02-14 8:52 ` Krzysztof Kozlowski
2016-02-14 11:46 ` Anand Moon
@ 2016-02-14 19:12 ` Anand Moon
1 sibling, 0 replies; 4+ messages in thread
From: Anand Moon @ 2016-02-14 19:12 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof
On 14 February 2016 at 14:22, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> W dniu 10.02.2016 o 16:27, Anand Moon pisze:
>> Hi all,
>>
>> I am observing following lockdep info.
>
> Hi,
>
> Thanks for report. When pasting dmesg output, please do not wrap the
> lines because it is difficult to read it.
>
> This looks like known issue:
> https://wiki.tizen.org/wiki/Exynos_Mainline_Kernel_TODO/Odroid_XU3_lockdep_warn_during_music_playback
>
> Waiting for someone brave enough to fix it...
>
> But actually more important item is following real lockup, failing
> multi_v7 boot ~20% of times:
> http://www.krzk.eu/builders/boot-odroid-xu3-multi_v7/builds/34
> http://www.krzk.eu/builders/boot-odroid-xu3-multi_v7
>
> Best regards,
> Krzysztof
>
I have manage to fix the issue using below changes.
root at odroidu3:/usr/src/odroidxu3-4.y-devel# git diff drivers/dma/pl330.c
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 17ee758..b651443 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -1973,10 +1973,9 @@ static void pl330_tasklet(unsigned long data)
{
struct dma_pl330_chan *pch = (struct dma_pl330_chan *)data;
struct dma_pl330_desc *desc, *_dt;
- unsigned long flags;
bool power_down = false;
- spin_lock_irqsave(&pch->lock, flags);
+ spin_lock_irq(&pch->lock);
/* Pick up ripe tomatoes */
list_for_each_entry_safe(desc, _dt, &pch->work_list, node)
@@ -2028,12 +2027,12 @@ static void pl330_tasklet(unsigned long data)
dma_descriptor_unmap(&desc->txd);
if (callback) {
- spin_unlock_irqrestore(&pch->lock, flags);
+ spin_unlock_irq(&pch->lock);
callback(callback_param);
- spin_lock_irqsave(&pch->lock, flags);
+ spin_lock_irq(&pch->lock);
}
}
- spin_unlock_irqrestore(&pch->lock, flags);
+ spin_unlock_irq(&pch->lock);
/* If work list empty, power down */
if (power_down) {
@@ -2091,10 +2090,10 @@ static int pl330_alloc_chan_resources(struct
dma_chan *chan)
return -ENOMEM;
}
- tasklet_init(&pch->task, pl330_tasklet, (unsigned long) pch);
-
spin_unlock_irqrestore(&pch->lock, flags);
+ tasklet_init(&pch->task, pl330_tasklet, (unsigned long) pch);
+
return 1;
}
------
Test on Odroid U3.
But below changes introduce below WARNING.
[ 14.818967] ------------[ cut here ]------------
[ 14.819517] WARNING: CPU: 0 PID: 486 at
kernel/locking/lockdep.c:2608 _raw_spin_unlock_irq+0x24/0x5c()
[ 14.828791] DEBUG_LOCKS_WARN_ON(current->hardirq_context)
[ 14.833995] Modules linked in:
[ 14.837209] CPU: 0 PID: 486 Comm: plymouth Tainted: G W
4.5.0-rc3-xu3s #55
[ 14.845191] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 14.851282] [<c0016eac>] (unwind_backtrace) from [<c0013b30>]
(show_stack+0x10/0x14)
[ 14.859001] [<c0013b30>] (show_stack) from [<c02943e4>]
(dump_stack+0x98/0xc4)
[ 14.866204] [<c02943e4>] (dump_stack) from [<c0029fcc>]
(warn_slowpath_common+0x80/0xb0)
[ 14.874273] [<c0029fcc>] (warn_slowpath_common) from [<c002a02c>]
(warn_slowpath_fmt+0x30/0x40)
[ 14.882956] [<c002a02c>] (warn_slowpath_fmt) from [<c068029c>]
(_raw_spin_unlock_irq+0x24/0x5c)
[ 14.891637] [<c068029c>] (_raw_spin_unlock_irq) from [<c02ef1c8>]
(pl330_tasklet+0x1a8/0x504)
[ 14.900142] [<c02ef1c8>] (pl330_tasklet) from [<c0325028>]
(s3c24xx_serial_start_tx_dma+0x154/0x198)
[ 14.909253] [<c0325028>] (s3c24xx_serial_start_tx_dma) from
[<c032526c>] (s3c24xx_serial_tx_chars+0x200/0x204)
[ 14.919236] [<c032526c>] (s3c24xx_serial_tx_chars) from
[<c03265a8>] (s3c64xx_serial_handle_irq+0x34/0x60)
[ 14.928873] [<c03265a8>] (s3c64xx_serial_handle_irq) from
[<c0087e48>] (handle_irq_event_percpu+0x9c/0x150)
[ 14.938593] [<c0087e48>] (handle_irq_event_percpu) from
[<c0087f34>] (handle_irq_event+0x38/0x5c)
[ 14.947446] [<c0087f34>] (handle_irq_event) from [<c008b1f4>]
(handle_fasteoi_irq+0xd0/0x1a8)
[ 14.955952] [<c008b1f4>] (handle_fasteoi_irq) from [<c0087464>]
(generic_handle_irq+0x24/0x34)
[ 14.964545] [<c0087464>] (generic_handle_irq) from [<c0087778>]
(__handle_domain_irq+0x7c/0xec)
[ 14.973225] [<c0087778>] (__handle_domain_irq) from [<c0009514>]
(gic_handle_irq+0x54/0x94)
[ 14.981557] [<c0009514>] (gic_handle_irq) from [<c0014638>]
(__irq_svc+0x58/0x98)
[ 14.989019] Exception stack(0xed385e90 to 0xed385ed8)
[ 14.994055] 5e80: 00000000
2e07c000 00000000 edb4e480
[ 15.002215] 5ea0: 00000053 c136c014 ed048780 ed048800 c136c014
c0adb108 ed048000 00000002
[ 15.010373] 5ec0: 00000000 ed385ee0 c0076edc c0680274 20000053 ffffffff
[ 15.016973] [<c0014638>] (__irq_svc) from [<c0680274>]
(_raw_spin_unlock_irqrestore+0x70/0x74)
[ 15.025569] [<c0680274>] (_raw_spin_unlock_irqrestore) from
[<c02bd7a4>] (__debug_check_no_obj_freed+0x128/0x220)
[ 15.035811] [<c02bd7a4>] (__debug_check_no_obj_freed) from
[<c0127940>] (kmem_cache_free+0x150/0x1ec)
[ 15.045011] [<c0127940>] (kmem_cache_free) from [<c002bd70>]
(do_exit+0x32c/0xaf4)
[ 15.052560] [<c002bd70>] (do_exit) from [<c002dbc0>]
(do_group_exit+0x3c/0xbc)
[ 15.059764] [<c002dbc0>] (do_group_exit) from [<c002dc50>]
(__wake_up_parent+0x0/0x18)
[ 15.067660] ---[ end trace 27c09e22f2a7458b ]---
Any comments are valuable.
Best Regards.
-Anand Moon
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-02-14 19:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-10 7:27 lockdep: INFO: possible irq lock inversion dependency detected on Odroid U3 Anand Moon
2016-02-14 8:52 ` Krzysztof Kozlowski
2016-02-14 11:46 ` Anand Moon
2016-02-14 19:12 ` Anand Moon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).