ASoC: rsnd: tidyup semantics of rsnd_ssi_record_error()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 26 Nov 2015 11:13:40 +0000 (11:13 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 27 Nov 2015 12:38:53 +0000 (12:38 +0000)
rsnd_ssi_record_error() should recorde error, but it clears error too.
this patch fixes up semantic of rsnd_ssi_record_error that it records
error but doesn't clear error.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/ssi.c

index 0fe5e3068b6befef317ea0e6dc3281a7a14d1481..40d5b587cbe932239b7cc99598f53ca4fbd56282 100644 (file)
@@ -396,13 +396,9 @@ static u32 rsnd_ssi_record_error(struct rsnd_ssi *ssi)
        u32 status = rsnd_ssi_status_get(mod);
 
        /* under/over flow error */
-       if (status & (UIRQ | OIRQ)) {
+       if (status & (UIRQ | OIRQ))
                ssi->err++;
 
-               /* clear error status */
-               rsnd_ssi_status_clear(mod);
-       }
-
        return status;
 }
 
@@ -537,6 +533,7 @@ static void __rsnd_ssi_interrupt(struct rsnd_mod *mod,
                         rsnd_mod_name(mod), rsnd_mod_id(mod));
        }
 
+       rsnd_ssi_status_clear(mod);
 rsnd_ssi_interrupt_out:
        spin_unlock(&priv->lock);