2014-07-02 11:20:34

by Jürg Billeter

[permalink] [raw]
Subject: [PATCH] ASoC: rsnd: fixup index of SSI mod when SRC is used

The default index 1 was used as the loop was terminated before the
following code could be reached:

if (mod[i] == this)
index = i;

Signed-off-by: Jürg Billeter <[email protected]>
---
sound/soc/sh/rcar/core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index 4e86265..d737fea 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -295,9 +295,11 @@ static void rsnd_dma_of_name(struct rsnd_dma *dma,
mod[0] = NULL; /* for "mem" */
index = 1;
for (i = 1; i < MOD_MAX; i++) {
- if (!src) {
- mod[i] = ssi;
+ if (!ssi) {
break;
+ } else if (!src) {
+ mod[i] = ssi;
+ ssi = NULL;
} else if (!dvc) {
mod[i] = src;
src = NULL;
--
2.0.1