[PATCH 0/4] ASoC: rsnd: fixup interrupt / spin lock issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(-)
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux