[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220421155725.2589089-2-narmstrong@baylibre.com>
Date: Thu, 21 Apr 2022 17:57:25 +0200
From: Neil Armstrong <narmstrong@...libre.com>
To: jbrunet@...libre.com, broonie@...nel.org
Cc: alsa-devel@...a-project.org, linux-arm-kernel@...ts.infradead.org,
linux-amlogic@...ts.infradead.org, linux-kernel@...r.kernel.org,
Neil Armstrong <narmstrong@...libre.com>,
Dmitry Shmidt <dimitrysh@...gle.com>
Subject: [PATCH 2/2] Revert "ASoC: meson: axg-card: make links nonatomic"
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@...gle.com>
Signed-off-by: Neil Armstrong <narmstrong@...libre.com>
---
sound/soc/meson/axg-card.c | 1 -
1 file changed, 1 deletion(-)
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);
--
2.25.1
Powered by blists - more mailing lists