projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a7ee5b4
)
ASoC: da7219: Initialize jack_det_mutex
author
Guenter Roeck
<linux@roeck-us.net>
Tue, 7 Mar 2023 15:51:11 +0000
(07:51 -0800)
committer
Mark Brown
<broonie@kernel.org>
Wed, 8 Mar 2023 13:46:55 +0000
(13:46 +0000)
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:
7fde88eda855
("ASoC: da7219: Improve the IRQ process to increase the stability")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Link:
https://lore.kernel.org/r/20230307155111.1985522-1-linux@roeck-us.net
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7219-aad.c
patch
|
blob
|
history
diff --git
a/sound/soc/codecs/da7219-aad.c
b/sound/soc/codecs/da7219-aad.c
index
4a4f09f
..
e3d398b
100644
(file)
--- a/
sound/soc/codecs/da7219-aad.c
+++ b/
sound/soc/codecs/da7219-aad.c
@@
-968,6
+968,8
@@
int da7219_aad_init(struct snd_soc_component *component)
INIT_WORK(&da7219_aad->hptest_work, da7219_aad_hptest_work);
INIT_WORK(&da7219_aad->jack_det_work, da7219_aad_jack_det_work);
+ mutex_init(&da7219_aad->jack_det_mutex);
+
ret = request_threaded_irq(da7219_aad->irq, da7219_aad_pre_irq_thread,
da7219_aad_irq_thread,
IRQF_TRIGGER_LOW | IRQF_ONESHOT,