ASoC: soc-pcm: use goto and remove multi return
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 17 Feb 2020 08:28:11 +0000 (17:28 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 18 Feb 2020 23:37:04 +0000 (23:37 +0000)
When we use some kind of lock, we need to do unlock.
In that time, multi unlock/return is not good implementation.
This patch add label and use goto at dpcm_fe_dai_open()
to reduce such code.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/877e0lboty.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-pcm.c

index d77a2c2..5a79a83 100644 (file)
@@ -2733,8 +2733,7 @@ static int dpcm_fe_dai_open(struct snd_pcm_substream *fe_substream)
 
        ret = dpcm_path_get(fe, stream, &list);
        if (ret < 0) {
-               mutex_unlock(&fe->card->mutex);
-               return ret;
+               goto open_end;
        } else if (ret == 0) {
                dev_dbg(fe->dev, "ASoC: %s no valid %s route\n",
                        fe->dai_link->name, stream ? "capture" : "playback");
@@ -2755,6 +2754,7 @@ static int dpcm_fe_dai_open(struct snd_pcm_substream *fe_substream)
 
        dpcm_clear_pending_state(fe, stream);
        dpcm_path_put(&list);
+open_end:
        mutex_unlock(&fe->card->mutex);
        return ret;
 }