OSDN Git Service

ASoC: rt1011: improve the rt1011_set_dai_fmt() function
authorShuming Fan <shumingf@realtek.com>
Thu, 31 Oct 2019 11:54:14 +0000 (19:54 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 31 Oct 2019 13:19:30 +0000 (14:19 +0100)
If there is a wrong format setting,
the driver will goto the end of the function directly.

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20191031115414.20951-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt1011.c

index 8a74f37..57a3a34 100644 (file)
@@ -1631,6 +1631,7 @@ static int rt1011_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
                break;
        default:
                ret = -EINVAL;
+               goto _set_fmt_err_;
        }
 
        switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
@@ -1641,6 +1642,7 @@ static int rt1011_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
                break;
        default:
                ret = -EINVAL;
+               goto _set_fmt_err_;
        }
 
        switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
@@ -1657,6 +1659,7 @@ static int rt1011_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
                break;
        default:
                ret = -EINVAL;
+               goto _set_fmt_err_;
        }
 
        switch (dai->id) {
@@ -1674,6 +1677,7 @@ static int rt1011_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
                ret = -EINVAL;
        }
 
+_set_fmt_err_:
        snd_soc_dapm_mutex_unlock(dapm);
        return ret;
 }