From: bui duc phuc <[email protected]>

snd_pcm_hw_constraint_integer() may return 1, which is then returned
from msiof_open(). ASoC only marks the component as opened
when .open() returns 0, so .close() can be skipped on rollback.

Return 0 explicitly on success.

Fixes: c61caec22820 ("ASoC: renesas: add MSIOF sound support")
Signed-off-by: bui duc phuc <[email protected]>
---
 sound/soc/renesas/rcar/msiof.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/renesas/rcar/msiof.c b/sound/soc/renesas/rcar/msiof.c
index 128543fc4fc9..9fead9a22cdc 100644
--- a/sound/soc/renesas/rcar/msiof.c
+++ b/sound/soc/renesas/rcar/msiof.c
@@ -427,10 +427,12 @@ static int msiof_open(struct snd_soc_component *component,
        ret = snd_pcm_hw_constraint_integer(substream->runtime, 
SNDRV_PCM_HW_PARAM_PERIODS);
 
 open_err_dma:
-       if (ret < 0)
+       if (ret < 0) {
                dma_release_channel(chan);
+               return ret;
+       }
 
-       return ret;
+       return 0;
 }
 
 static int msiof_close(struct snd_soc_component *component,
-- 
2.43.0


Reply via email to