• Guenter Roeck's avatar
    ASoC: da7219: Initialize jack_det_mutex · af0f46e5
    Guenter Roeck authored
    The following traceback is reported if mutex debugging is enabled.
    
    DEBUG_LOCKS_WARN_ON(lock->magic != lock)
    WARNING: CPU: 0 PID: 17 at kernel/locking/mutex.c:950 __mutex_lock_common+0x31c/0x11d4
    Modules linked in:
    CPU: 0 PID: 17 Comm: kworker/0:1 Not tainted 5.10.172-lockdep-21846-g849884cfca5a #1 fd2de466502012eb58bc8beb467f07d0b925611f
    Hardware name: MediaTek kakadu rev0/rev1 board (DT)
    Workqueue: events da7219_aad_jack_det_work
    pstate: 60400005 (nZCv daif +PAN -UAO -TCO BTYPE=--)
    pc : __mutex_lock_common+0x31c/0x11d4
    lr : __mutex_lock_common+0x31c/0x11d4
    sp : ffffff80c0317ae0
    x29: ffffff80c0317b50 x28: ffffff80c0317b20
    x27: 0000000000000000 x26: 0000000000000000
    x25: 0000000000000000 x24: 0000000100000000
    x23: ffffffd0121d296c x22: dfffffd000000000
    x21: 0000000000000000 x20: 0000000000000000
    x19: ffffff80c73d7190 x18: 1ffffff018050f52
    x17: 0000000000000000 x16: 0000000000000000
    x15: 0000000000000000 x14: 0000000000000000
    x13: 0000000000000001 x12: 0000000000000001
    x11: 0000000000000000 x10: 0000000000000000
    x9 : 83f0d991da544b00 x8 : 83f0d991da544b00
    x7 : 0000000000000000 x6 : 0000000000000001
    x5 : ffffff80c03176a0 x4 : 0000000000000000
    x3 : ffffffd01067fd78 x2 : 0000000100000000
    x1 : ffffff80c030ba80 x0 : 0000000000000028
    Call trace:
    __mutex_lock_common+0x31c/0x11d4
    mutex_lock_nested+0x98/0xac
    da7219_aad_jack_det_work+0x54/0xf0
    process_one_work+0x6cc/0x19dc
    worker_thread+0x458/0xddc
    kthread+0x2fc/0x370
    ret_from_fork+0x10/0x30
    irq event stamp: 579
    hardirqs last enabled at (579): [<ffffffd012442b30>] exit_to_kernel_mode+0x108/0x138
    hardirqs last disabled at (577): [<ffffffd010001144>] __do_softirq+0x53c/0x125c
    softirqs last enabled at (578): [<ffffffd01009995c>] __irq_exit_rcu+0x264/0x4f4
    softirqs last disabled at (573): [<ffffffd01009995c>] __irq_exit_rcu+0x264/0x4f4
    ---[ end trace 26da674636181c40 ]---
    
    Initialize the mutex to fix the problem.
    
    Cc: David Rau <David.Rau.opensource@dm.renesas.com>
    Fixes: 7fde88ed ("ASoC: da7219: Improve the IRQ process to increase the stability")
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20230307155111.1985522-1-linux@roeck-us.netSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    af0f46e5
da7219-aad.c 31.6 KB