Skip to content

Commit

Permalink
ASoC: Return early with -EINVAL if invalid dai format is detected
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Axel Lin authored and Mark Brown committed Oct 6, 2011
1 parent 3c08600 commit ac60155
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 9 deletions.
8 changes: 4 additions & 4 deletions sound/soc/codecs/cs4270.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 cs4270_private *cs4270 = snd_soc_codec_get_drvdata(codec);
int ret = 0;

/* set DAI format */
switch (format & SND_SOC_DAIFMT_FORMAT_MASK) {
Expand All @@ -271,7 +270,7 @@ static int cs4270_set_dai_fmt(struct snd_soc_dai *codec_dai,
break;
default:
dev_err(codec->dev, "invalid dai format\n");
ret = -EINVAL;
return -EINVAL;
}

/* set master/slave audio interface */
Expand All @@ -284,10 +283,11 @@ static int cs4270_set_dai_fmt(struct snd_soc_dai *codec_dai,
break;
default:
/* 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;
}

/**
Expand Down
9 changes: 4 additions & 5 deletions sound/soc/codecs/cs42l51.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 cs42l51_private *cs42l51 = snd_soc_codec_get_drvdata(codec);
int ret = 0;

switch (format & SND_SOC_DAIFMT_FORMAT_MASK) {
case SND_SOC_DAIFMT_I2S:
Expand All @@ -298,7 +297,7 @@ static int cs42l51_set_dai_fmt(struct snd_soc_dai *codec_dai,
break;
default:
dev_err(codec->dev, "invalid DAI format\n");
ret = -EINVAL;
return -EINVAL;
}

switch (format & SND_SOC_DAIFMT_MASTER_MASK) {
Expand All @@ -309,11 +308,11 @@ static int cs42l51_set_dai_fmt(struct snd_soc_dai *codec_dai,
cs42l51->func = MODE_SLAVE_AUTO;
break;
default:
ret = -EINVAL;
break;
dev_err(codec->dev, "Unknown master/slave configuration\n");
return -EINVAL;
}

return ret;
return 0;
}

struct cs42l51_ratios {
Expand Down

0 comments on commit ac60155

Please sign in to comment.