[ 1687.508917] ====================================================== [ 1687.515103] [ INFO: possible circular locking dependency detected ] [ 1687.521379] 3.19.5-iMX6-PD15.2.0 #1 Not tainted [ 1687.525916] ------------------------------------------------------- [ 1687.532189] kworker/u8:2/74 is trying to acquire lock: [ 1687.537333] (&sb->s_type->i_mutex_key){+.+.+.}, at: [<802748c8>] debugfs_remove+0x40/0x80 [ 1687.545691] [ 1687.545691] but task is already holding lock: [ 1687.551530] (&dev->coda_mutex){+.+.+.}, at: [<7f08903c>] coda_seq_end_work+0x38/0xf4 [coda] [ 1687.560068] [ 1687.560068] which lock already depends on the new lock. [ 1687.560068] [ 1687.568254] [ 1687.568254] the existing dependency chain (in reverse order) is: [ 1687.575742] -> #3 (&dev->coda_mutex){+.+.+.}: [ 1687.580341] [<806de3b8>] mutex_lock_nested+0x54/0x3e8 [ 1687.586037] [<7f08b4cc>] coda_start_decoding+0x28/0x44 [coda] [ 1687.592426] [<7f08613c>] coda_start_streaming+0xac/0x20c [coda] [ 1687.598981] [<804dd6f4>] vb2_start_streaming+0x78/0x1c8 [ 1687.604840] [<804dfc00>] vb2_internal_streamon+0xf4/0x150 [ 1687.610871] [<804dfc90>] vb2_streamon+0x34/0x58 [ 1687.616031] [<7f0777d4>] v4l2_m2m_streamon+0x28/0x40 [v4l2_mem2mem] [ 1687.622945] [<7f077804>] v4l2_m2m_ioctl_streamon+0x18/0x1c [v4l2_mem2mem] [ 1687.630370] [<804c81f4>] v4l_streamon+0x20/0x24 [ 1687.635540] [<804cb200>] __video_do_ioctl+0x280/0x2fc [ 1687.641225] [<804cac2c>] video_usercopy+0x168/0x4a0 [ 1687.646733] [<804caf78>] video_ioctl2+0x14/0x1c [ 1687.651893] [<804c6bac>] v4l2_ioctl+0x13c/0x160 [ 1687.657055] [<80105618>] do_vfs_ioctl+0x410/0x67c [ 1687.662394] [<801058c0>] SyS_ioctl+0x3c/0x64 [ 1687.667294] [<8000ec40>] ret_fast_syscall+0x0/0x4c [ 1687.672723] -> #2 (&dev->dev_mutex){+.+.+.}: [ 1687.677235] [<806df018>] mutex_lock_interruptible_nested+0x60/0x470 [ 1687.684135] [<7f077d70>] v4l2_m2m_fop_mmap+0x2c/0x88 [v4l2_mem2mem] [ 1687.691041] [<804c6628>] v4l2_mmap+0x5c/0x94 [ 1687.695943] [<800dc9e0>] mmap_region+0x378/0x6a0 [ 1687.701197] [<800dd02c>] do_mmap_pgoff+0x324/0x3b4 [ 1687.706618] [<800c81e0>] vm_mmap_pgoff+0x68/0x98 [ 1687.711867] [<800db4b4>] SyS_mmap_pgoff+0x9c/0xc4 [ 1687.717201] [<8000ec40>] ret_fast_syscall+0x0/0x4c [ 1687.722626] -> #1 (&mm->mmap_sem){++++++}: [ 1687.726964] [<800d482c>] might_fault+0x68/0x9c [ 1687.732038] [<80105be4>] filldir64+0x74/0x18c [ 1687.737026] [<801530c0>] proc_readfd_common+0x1f4/0x2ac [ 1687.742892] [<8015318c>] proc_readfd+0x14/0x1c [ 1687.747966] [<80105970>] iterate_dir+0x88/0x108 [ 1687.753126] [<80105e70>] SyS_getdents64+0x7c/0xf0 [ 1687.758461] [<8000ec40>] ret_fast_syscall+0x0/0x4c [ 1687.763884] -> #0 (&sb->s_type->i_mutex_key){+.+.+.}: [ 1687.769175] [<800647d4>] lock_acquire+0x74/0x94 [ 1687.774344] [<806de3b8>] mutex_lock_nested+0x54/0x3e8 [ 1687.780027] [<802748c8>] debugfs_remove+0x40/0x80 [ 1687.785365] [<7f087a24>] coda_free_aux_buf+0x64/0x78 [coda] [ 1687.791582] [<7f08909c>] coda_seq_end_work+0x98/0xf4 [coda] [ 1687.797793] [<8004048c>] process_one_work+0x194/0x410 [ 1687.803483] [<80041104>] worker_thread+0x1d4/0x498 [ 1687.808907] [<80045988>] kthread+0xdc/0xf8 [ 1687.813635] [<8000ed10>] ret_from_fork+0x14/0x24 [ 1687.818887] [ 1687.818887] other info that might help us debug this: [ 1687.818887] [ 1687.826899] Chain exists of: &sb->s_type->i_mutex_key --> &dev->dev_mutex --> &dev->coda_mutex [ 1687.836042] Possible unsafe locking scenario: [ 1687.836042] [ 1687.841968] CPU0 CPU1 [ 1687.846503] ---- ---- [ 1687.851036] lock(&dev->coda_mutex); [ 1687.854733] lock(&dev->dev_mutex); [ 1687.860861] lock(&dev->coda_mutex); [ 1687.867075] lock(&sb->s_type->i_mutex_key); [ 1687.871466] [ 1687.871466] *** DEADLOCK *** [ 1687.871466] [ 1687.877397] 4 locks held by kworker/u8:2/74: [ 1687.881671] #0: ("coda"){++++.+}, at: [<80040420>] process_one_work+0x128/0x410 [ 1687.889244] #1: ((&ctx->seq_end_work)){+.+...}, at: [<80040420>] process_one_work+0x128/0x410 [ 1687.898032] #2: (&ctx->buffer_mutex){+.+.+.}, at: [<7f089030>] coda_seq_end_work+0x2c/0xf4 [coda] [ 1687.907175] #3: (&dev->coda_mutex){+.+.+.}, at: [<7f08903c>] coda_seq_end_work+0x38/0xf4 [coda] [ 1687.916141] [ 1687.916141] stack backtrace: [ 1687.920510] CPU: 1 PID: 74 Comm: kworker/u8:2 Not tainted 3.19.5-iMX6-PD15.2.0 #1 [ 1687.928000] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 1687.934545] Workqueue: coda coda_seq_end_work [coda] [ 1687.939529] Backtrace: [ 1687.942012] [<80012628>] (dump_backtrace) from [<80012844>] (show_stack+0x18/0x1c) [ 1687.949588] r6:809d6694 r5:00000000 r4:00000000 r3:00000002 [ 1687.955331] [<8001282c>] (show_stack) from [<806da27c>] (dump_stack+0x8c/0xa4) [ 1687.962569] [<806da1f0>] (dump_stack) from [<80060314>] (print_circular_bug+0x1d4/0x318) [ 1687.970664] r6:80b85050 r5:80b8c640 r4:80b4c820 r3:00000002 [ 1687.976404] [<80060140>] (print_circular_bug) from [<80063e64>] (__lock_acquire+0x1cd4/0x1e88) [ 1687.985019] r10:af12a1f8 r9:00000004 r8:00000004 r7:8120778c r6:809d6778 r5:af129d40 [ 1687.992939] r4:af12a1f8 r3:af12a1e0 [ 1687.996559] [<80062190>] (__lock_acquire) from [<800647d4>] (lock_acquire+0x74/0x94) [ 1688.004308] r10:aec2c0b8 r9:ae1c8000 r8:ae1c8004 r7:00000001 r6:802748c8 r5:60080013 [ 1688.012227] r4:00000000 [ 1688.014789] [<80064760>] (lock_acquire) from [<806de3b8>] (mutex_lock_nested+0x54/0x3e8) [ 1688.022884] r7:af129d40 r6:8120778c r5:802748c8 r4:00000000 [ 1688.028627] [<806de364>] (mutex_lock_nested) from [<802748c8>] (debugfs_remove+0x40/0x80) [ 1688.036808] r10:00000001 r9:ae1c8000 r8:ae1c8004 r7:af323244 r6:ae1c8494 r5:aec02228 [ 1688.044728] r4:ad62d8a0 [ 1688.047299] [<80274888>] (debugfs_remove) from [<7f087a24>] (coda_free_aux_buf+0x64/0x78 [coda]) [ 1688.056088] r5:ae1c8074 r4:ae1c844c [ 1688.059723] [<7f0879c0>] (coda_free_aux_buf [coda]) from [<7f08909c>] (coda_seq_end_work+0x98/0xf4 [coda]) [ 1688.069380] r5:ae1c8074 r4:ae1c8464 [ 1688.073010] [<7f089004>] (coda_seq_end_work [coda]) from [<8004048c>] (process_one_work+0x194/0x410) [ 1688.082146] r9:ae925eb0 r8:00000000 r7:ae43a100 r6:af009c00 r5:ae1c8074 r4:ae8dff00 [ 1688.089987] [<800402f8>] (process_one_work) from [<80041104>] (worker_thread+0x1d4/0x498) [ 1688.098169] r10:af009c00 r9:ae8dff00 r8:80a17e42 r7:00000088 r6:af009c30 r5:ae8dff18 [ 1688.106086] r4:af009c00 [ 1688.108648] [<80040f30>] (worker_thread) from [<80045988>] (kthread+0xdc/0xf8) [ 1688.115874] r10:00000000 r9:00000000 r8:00000000 r7:80040f30 r6:ae8dff00 r5:ae920200 [ 1688.123793] r4:00000000 [ 1688.126356] [<800458ac>] (kthread) from [<8000ed10>] (ret_from_fork+0x14/0x24) [ 1688.133582] r7:00000000 r6:00000000 r5:800458ac r4:ae920200