ASoC: rockchip: i2s-tdm: Fix error path in prepare_enable_mclk

[smatch] sound/soc/rockchip/rockchip_i2s_tdm.c:206 i2s_tdm_prepare_enable_mclk()
warn: 'i2s_tdm->mclk_rx' from clk_prepare_enable not released.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I7af416e1a79c8fc229c5ea42b09785282d71bf10
This commit is contained in:
Sugar Zhang
2023-07-06 08:46:29 +08:00
parent d8c4254b9a
commit f905bac260

View File

@@ -177,10 +177,11 @@ static int i2s_tdm_prepare_enable_mclk(struct rk_i2s_tdm_dev *i2s_tdm)
ret = clk_prepare_enable(i2s_tdm->mclk_rx);
if (ret)
goto err_mclk_rx;
if (i2s_tdm->mclk_calibrate) {
ret = clk_prepare_enable(i2s_tdm->mclk_tx_src);
if (ret)
goto err_mclk_rx;
goto err_mclk_tx_src;
ret = clk_prepare_enable(i2s_tdm->mclk_rx_src);
if (ret)
goto err_mclk_rx_src;
@@ -200,6 +201,8 @@ err_mclk_root0:
clk_disable_unprepare(i2s_tdm->mclk_rx_src);
err_mclk_rx_src:
clk_disable_unprepare(i2s_tdm->mclk_tx_src);
err_mclk_tx_src:
clk_disable_unprepare(i2s_tdm->mclk_rx);
err_mclk_rx:
clk_disable_unprepare(i2s_tdm->mclk_tx);
err_mclk_tx: