summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWang Jingjin <wangjingjin1@huawei.com>2022-12-08 14:39:00 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-07 12:07:34 +0100
commit593f0c94dcb4471556d1aecf457c1215b2e7490d (patch)
tree80ffe1e877684abf1635e356300e7e0c0d0f9d51
parentb606ae0e817c2a14d956624c31bef88ab335ba20 (diff)
downloadlinux-stable-593f0c94dcb4471556d1aecf457c1215b2e7490d.tar.gz
linux-stable-593f0c94dcb4471556d1aecf457c1215b2e7490d.tar.bz2
linux-stable-593f0c94dcb4471556d1aecf457c1215b2e7490d.zip
ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
[ Upstream commit 6d94d0090527b1763872275a7ccd44df7219b31e ] rk_spdif_runtime_resume() may have called clk_prepare_enable() before return from failed branches, add missing clk_disable_unprepare() in this case. Fixes: f874b80e1571 ("ASoC: rockchip: Add rockchip SPDIF transceiver driver") Signed-off-by: Wang Jingjin <wangjingjin1@huawei.com> Link: https://lore.kernel.org/r/20221208063900.4180790-1-wangjingjin1@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--sound/soc/rockchip/rockchip_spdif.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/rockchip/rockchip_spdif.c b/sound/soc/rockchip/rockchip_spdif.c
index f387d7bae3d4..e4073c48faf6 100644
--- a/sound/soc/rockchip/rockchip_spdif.c
+++ b/sound/soc/rockchip/rockchip_spdif.c
@@ -85,6 +85,7 @@ static int __maybe_unused rk_spdif_runtime_resume(struct device *dev)
ret = clk_prepare_enable(spdif->hclk);
if (ret) {
+ clk_disable_unprepare(spdif->mclk);
dev_err(spdif->dev, "hclk clock enable failed %d\n", ret);
return ret;
}