mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 17:40:53 +07:00
ASoC: tlv320aic31xx: Check clock and divider before division
If our set_sysclk DAI callback has not been called yet p_div will be 0 and dividing by this will cause an error. Print an error message and leave before this. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b6b247cd5e
commit
c6b8c77921
@ -754,11 +754,17 @@ static int aic31xx_setup_pll(struct snd_soc_codec *codec,
|
||||
{
|
||||
struct aic31xx_priv *aic31xx = snd_soc_codec_get_drvdata(codec);
|
||||
int bclk_score = snd_soc_params_to_frame_size(params);
|
||||
int mclk_p = aic31xx->sysclk / aic31xx->p_div;
|
||||
int mclk_p;
|
||||
int bclk_n = 0;
|
||||
int match = -1;
|
||||
int i;
|
||||
|
||||
if (!aic31xx->sysclk || !aic31xx->p_div) {
|
||||
dev_err(codec->dev, "Master clock not supplied\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
mclk_p = aic31xx->sysclk / aic31xx->p_div;
|
||||
|
||||
/* Use PLL as CODEC_CLKIN and DAC_CLK as BDIV_CLKIN */
|
||||
snd_soc_update_bits(codec, AIC31XX_CLKMUX,
|
||||
AIC31XX_CODEC_CLKIN_MASK, AIC31XX_CODEC_CLKIN_PLL);
|
||||
|
Loading…
Reference in New Issue
Block a user