ASoC: atmel_ssc_dai: Handle errors for clk_enable
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Tue, 1 Mar 2022 09:06:37 +0000 (17:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:19 +0000 (14:23 +0200)
[ Upstream commit f9e2ca0640e59d19af0ff285ee5591ed39069b09 ]

As the potential failure of the clk_enable(),
it should be better to check it and return error if fals.

Fixes: cbaadf0f90d6 ("ASoC: atmel_ssc_dai: refactor the startup and shutdown")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20220301090637.3776558-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/atmel/atmel_ssc_dai.c

index 6a63e87..9753341 100644 (file)
@@ -280,7 +280,10 @@ static int atmel_ssc_startup(struct snd_pcm_substream *substream,
 
        /* Enable PMC peripheral clock for this SSC */
        pr_debug("atmel_ssc_dai: Starting clock\n");
-       clk_enable(ssc_p->ssc->clk);
+       ret = clk_enable(ssc_p->ssc->clk);
+       if (ret)
+               return ret;
+
        ssc_p->mck_rate = clk_get_rate(ssc_p->ssc->clk);
 
        /* Reset the SSC unless initialized to keep it in a clean state */