From: Kuninori Morimoto Date: Tue, 22 Aug 2023 23:50:36 +0000 (+0000) Subject: ASoC: rsnd: setup clock-out only when all conditions are right X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d059cd40aea6deae716bc6588f24e7b6b421f822;p=linux.git ASoC: rsnd: setup clock-out only when all conditions are right Current adg.c doesn't assume that requested clock out divide condition doesn't match. In such case, it will indicate strange message, and will register NULL clock, etc. It is just a DT setting miss, but is confusable. This patch check all conditions for it. Reported-by: Vincenzo De Michele Signed-off-by: Kuninori Morimoto Link: https://lore.kernel.org/r/87lee2zlf7.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index c490d43aa18c2..919339b75a251 100644 --- a/sound/soc/sh/rcar/adg.c +++ b/sound/soc/sh/rcar/adg.c @@ -607,6 +607,10 @@ static int rsnd_adg_get_clkout(struct rsnd_priv *priv) } } + if (!(adg->brg_rate[ADG_HZ_48] && req_Hz[ADG_HZ_48]) && + !(adg->brg_rate[ADG_HZ_441] && req_Hz[ADG_HZ_441])) + goto rsnd_adg_get_clkout_end; + if (approximate) dev_info(dev, "It uses CLK_I as approximate rate");