ASoC: rsnd: fixup index of SSI mod when SRC is used
diff mbox

Message ID 1404299931-21384-1-git-send-email-j@bitron.ch
State New, archived
Headers show

Commit Message

Jürg Billeter July 2, 2014, 11:18 a.m. UTC
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 <j@bitron.ch>
---
 sound/soc/sh/rcar/core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Kuninori Morimoto July 3, 2014, 1:57 p.m. UTC | #1
Hi

If you add this code,

        if (!ssi) {
               break;
        } else ...

then, I guess we can remove this code ?

	if (mod[i] == ssi)
	break;



2014-07-02 20:18 GMT+09:00 Jürg Billeter <j@bitron.ch>:

> 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 <j@bitron.ch>
> ---
>  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
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
Kuninori Morimoto July 3, 2014, 2:05 p.m. UTC | #2
Hi again


2014-07-03 22:57 GMT+09:00 Kuninori Morimoto <kuninori.morimoto.gx@gmail.com
>:

> Hi
>
> If you add this code,
>
>         if (!ssi) {
>                break;
>         } else ...
>
> then, I guess we can remove this code ?
>
> 	if (mod[i] == ssi)
> 	break;
>
>
>
Maybe this is not correct comment.
Now, I'm confusing about this patch.
What kind of issue happen without this patch ?



>
> 2014-07-02 20:18 GMT+09:00 Jürg Billeter <j@bitron.ch>:
>
> 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 <j@bitron.ch>
>> ---
>>  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
>>
>> _______________________________________________
>> Alsa-devel mailing list
>> Alsa-devel@alsa-project.org
>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>
>
>
Jürg Billeter July 3, 2014, 2:09 p.m. UTC | #3
Hi,

On Thu, 2014-07-03 at 22:57 +0900, Kuninori Morimoto wrote:
> If you add this code,
>
>         if (!ssi) {
>                break;
>         } else ...
>  
> then, I guess we can remove this code ?
> 
> 	if (mod[i] == ssi)
> 	break;

I checked the issue on mainline master where the above two lines are not
present yet. Looking at Mark's for-next tree reveals that you already
fixed the issue in a slightly different way (commit c08c3b08). You may
disregard my patch.

Jürg
Kuninori Morimoto July 4, 2014, 8:08 a.m. UTC | #4
Hi Jürg


I checked the issue on mainline master where the above two lines are not
> present yet. Looking at Mark's for-next tree reveals that you already
> fixed the issue in a slightly different way (commit c08c3b08). You may
> disregard my patch.
>

I understand.
Thank you for your reply, and thank you for your test.

Patch
diff mbox

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;