ASoC: samsung: i2s: Fix error handling path in i2s_set_sysclk()
If 'clk_prepare_enable()' fails, we must 'put' the corresponding clock.
Othewise, there is a resource leak.
Fixes: f5c97c7b04
("ASoC: samsung: i2s: Handle return value of clk_prepare_enable.")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
1107a293b7
commit
6431a7e366
|
@ -552,8 +552,11 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai,
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = clk_prepare_enable(i2s->op_clk);
|
ret = clk_prepare_enable(i2s->op_clk);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
clk_put(i2s->op_clk);
|
||||||
|
i2s->op_clk = NULL;
|
||||||
goto err;
|
goto err;
|
||||||
|
}
|
||||||
i2s->rclk_srcrate = clk_get_rate(i2s->op_clk);
|
i2s->rclk_srcrate = clk_get_rate(i2s->op_clk);
|
||||||
|
|
||||||
/* Over-ride the other's */
|
/* Over-ride the other's */
|
||||||
|
|
Loading…
Reference in New Issue