diff mbox series

[2/2] Revert "ASoC: meson: axg-card: make links nonatomic"

Message ID 20220421155725.2589089-2-narmstrong@baylibre.com (mailing list archive)
State Accepted
Commit 0c9b152c72e53016e96593bdbb8cffe2176694b9
Headers show
Series [1/2] Revert "ASoC: meson: axg-tdm-interface: manage formatters in trigger" | expand

Commit Message

Neil Armstrong April 21, 2022, 3:57 p.m. UTC
This commit e138233e56e9829e65b6293887063a1a3ccb2d68 causes the
following system crash when using audio on G12A/G12B & SM1 systems:
 BUG: sleeping function called from invalid context at kernel/locking/mutex.c:282
  in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 0, name: swapper/0
 preempt_count: 10001, expected: 0
 RCU nest depth: 0, expected: 0
 Preemption disabled at:
 schedule_preempt_disabled+0x20/0x2c
 CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W         5.17.0-rc6-03747-gd403c3588f77-dirty #957
 Hardware name: SEI Robotics SEI610 (DT)
 Call trace:
 dump_backtrace+0xd8/0xf4
 show_stack+0x18/0x30
 dump_stack_lvl+0x70/0x8c
 dump_stack+0x18/0x38
 __might_resched+0x154/0x164
 __might_sleep+0x48/0x78
 mutex_lock+0x24/0x60
 _snd_pcm_stream_lock_irqsave+0x20/0x3c
 snd_pcm_period_elapsed+0x24/0xa4
 axg_fifo_pcm_irq_block+0x64/0xdc
 __handle_irq_event_percpu+0x104/0x264
 handle_irq_event+0x48/0xb4
 ...
 start_kernel+0x3f0/0x484
 __primary_switched+0xc0/0xc8

Revert this commit until the crash is fixed.

Reported-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
 sound/soc/meson/axg-card.c | 1 -
 1 file changed, 1 deletion(-)
diff mbox series

Patch

diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c
index cbbaa55d92a6..2b77010c2c5c 100644
--- a/sound/soc/meson/axg-card.c
+++ b/sound/soc/meson/axg-card.c
@@ -320,7 +320,6 @@  static int axg_card_add_link(struct snd_soc_card *card, struct device_node *np,
 
 	dai_link->cpus = cpu;
 	dai_link->num_cpus = 1;
-	dai_link->nonatomic = true;
 
 	ret = meson_card_parse_dai(card, np, &dai_link->cpus->of_node,
 				   &dai_link->cpus->dai_name);