This patch ignores sysclk setting if it is 0Hz.

Some codecs treat 0Hz sysclk as signal of applying no constraints.
This driver does not have such feature but current implementation
outputs 'Failed to set mclk' error message if machine driver sets
0Hz sysclk to this driver.

Signed-off-by: Katsuhiro Suzuki <katsuh...@katsuster.net>
---
 sound/soc/rockchip/rockchip_i2s.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/soc/rockchip/rockchip_i2s.c 
b/sound/soc/rockchip/rockchip_i2s.c
index 88ebaf6e1880..af2d5a6124c8 100644
--- a/sound/soc/rockchip/rockchip_i2s.c
+++ b/sound/soc/rockchip/rockchip_i2s.c
@@ -419,6 +419,9 @@ static int rockchip_i2s_set_sysclk(struct snd_soc_dai 
*cpu_dai, int clk_id,
        struct rk_i2s_dev *i2s = to_info(cpu_dai);
        int ret;
 
+       if (freq == 0)
+               return 0;
+
        ret = clk_set_rate(i2s->mclk, freq);
        if (ret)
                dev_err(i2s->dev, "Fail to set mclk %d\n", ret);
-- 
2.23.0.rc1

Reply via email to