mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 13:11:45 +00:00
ASoC: Return early with -EINVAL if invalid dai format is detected
Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
3c08600144
commit
ac60155f7a
@ -261,7 +261,6 @@ static int cs4270_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
{
|
{
|
||||||
struct snd_soc_codec *codec = codec_dai->codec;
|
struct snd_soc_codec *codec = codec_dai->codec;
|
||||||
struct cs4270_private *cs4270 = snd_soc_codec_get_drvdata(codec);
|
struct cs4270_private *cs4270 = snd_soc_codec_get_drvdata(codec);
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
/* set DAI format */
|
/* set DAI format */
|
||||||
switch (format & SND_SOC_DAIFMT_FORMAT_MASK) {
|
switch (format & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||||
@ -271,7 +270,7 @@ static int cs4270_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dev_err(codec->dev, "invalid dai format\n");
|
dev_err(codec->dev, "invalid dai format\n");
|
||||||
ret = -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set master/slave audio interface */
|
/* set master/slave audio interface */
|
||||||
@ -284,10 +283,11 @@ static int cs4270_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* all other modes are unsupported by the hardware */
|
/* all other modes are unsupported by the hardware */
|
||||||
ret = -EINVAL;
|
dev_err(codec->dev, "Unknown master/slave configuration\n");
|
||||||
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -288,7 +288,6 @@ static int cs42l51_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
{
|
{
|
||||||
struct snd_soc_codec *codec = codec_dai->codec;
|
struct snd_soc_codec *codec = codec_dai->codec;
|
||||||
struct cs42l51_private *cs42l51 = snd_soc_codec_get_drvdata(codec);
|
struct cs42l51_private *cs42l51 = snd_soc_codec_get_drvdata(codec);
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
switch (format & SND_SOC_DAIFMT_FORMAT_MASK) {
|
switch (format & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||||
case SND_SOC_DAIFMT_I2S:
|
case SND_SOC_DAIFMT_I2S:
|
||||||
@ -298,7 +297,7 @@ static int cs42l51_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dev_err(codec->dev, "invalid DAI format\n");
|
dev_err(codec->dev, "invalid DAI format\n");
|
||||||
ret = -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (format & SND_SOC_DAIFMT_MASTER_MASK) {
|
switch (format & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||||
@ -309,11 +308,11 @@ static int cs42l51_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
cs42l51->func = MODE_SLAVE_AUTO;
|
cs42l51->func = MODE_SLAVE_AUTO;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ret = -EINVAL;
|
dev_err(codec->dev, "Unknown master/slave configuration\n");
|
||||||
break;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct cs42l51_ratios {
|
struct cs42l51_ratios {
|
||||||
|
Loading…
Reference in New Issue
Block a user