[alsa-devel] [PATCH 0/4] ASoC: rsnd: fixup interrupt / spin lock issue
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Wed May 20 05:45:42 CEST 2015
Hi Mark, Vinod
Cc Laurent
These patches fixup unknown interrupt issue which was reported by Hiep-san
in v4.1-rcX kernel. It was not happened in v4.0 because ARM platform side
couldn't use DMA transfer.
---------
Unable to handle kernel NULL pointer dereference at virtual address 00000048
pgd = edfac000
[00000048] *pgd=6e0f0831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] SMP ARM
CPU: 0 PID: 2009 Comm: aplay Not tainted 4.1.0-rc2-dirty #4
Hardware name: Generic R8A7790 (Flattened Device Tree)
...
--------
Renesas sound driver had 2 issues.
[1] spin lock was unlocked un-expected timing
[2] HW restart (when error timing) is called without spin lock
In our environment, it was difficult to reproduce this error,
because it happens in very rare timing.
But I noticed it is easy to reproduce it if I added this setting.
[Kernel hacking] - [Lock Debugging] - all ON
And we decided this error has gone by these tests.
Test1: reproduce error
1. start / stop sound playback in 100 times
2. count error
3. test above in 10 sets
result: 100% error happen.
In average, this error happens once during 5 playbacks.
Test2: apply these fixup patces, and retry Test1
result: 0 error happen.
Kuninori Morimoto (4):
1) dmaengine: rcar-dmac: fixup spinlock in rcar-dmac
2) ASoC: rsnd: indicate unknown HW start
3) ASoC: rsnd: add rsnd_dai_stream_quit()
4) ASoC: rsnd: spin lock for interrupt handler
drivers/dma/sh/rcar-dmac.c | 55 +++++++++++++++++++++++++++++++------------------------
sound/soc/sh/rcar/core.c | 25 ++++++++++++++++++-------
sound/soc/sh/rcar/rsnd.h | 3 +--
sound/soc/sh/rcar/src.c | 11 ++++++++---
sound/soc/sh/rcar/ssi.c | 18 ++++++++++++++----
5 files changed, 72 insertions(+), 40 deletions(-)
More information about the Alsa-devel
mailing list