aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-03-22 14:29:15 -0400
committerMark Brown <broonie@linaro.org>2014-03-23 09:59:59 -0400
commit017d9491ce203c620ad1377f46a3ce78d554b2de (patch)
tree5db1c430ef9d577259ad11aaf9cfb17371140c9a /sound
parentdcb99fd9b08cfe1afe426af4d8d3cbc429190f15 (diff)
ASoC: pcm: Drop incorrect double/extra frees
The changes in "ASoC: pcm: free path list before exiting from error conditions" actually introduced both double frees (in case where the path list was allocated but empty) and frees of unallocated memory (in cases where the error being handled was -ENOMEM. Drop the commit for now. Fixes: e4ad1accb (ASoC: pcm: free path list before exiting from error conditions) Reported-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/soc-pcm.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 28522bd03b8e..47e1ce771e65 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1989,7 +1989,6 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card)
1989 1989
1990 paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_PLAYBACK, &list); 1990 paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_PLAYBACK, &list);
1991 if (paths < 0) { 1991 if (paths < 0) {
1992 dpcm_path_put(&list);
1993 dev_warn(fe->dev, "ASoC: %s no valid %s path\n", 1992 dev_warn(fe->dev, "ASoC: %s no valid %s path\n",
1994 fe->dai_link->name, "playback"); 1993 fe->dai_link->name, "playback");
1995 mutex_unlock(&card->mutex); 1994 mutex_unlock(&card->mutex);
@@ -2019,7 +2018,6 @@ capture:
2019 2018
2020 paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_CAPTURE, &list); 2019 paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_CAPTURE, &list);
2021 if (paths < 0) { 2020 if (paths < 0) {
2022 dpcm_path_put(&list);
2023 dev_warn(fe->dev, "ASoC: %s no valid %s path\n", 2021 dev_warn(fe->dev, "ASoC: %s no valid %s path\n",
2024 fe->dai_link->name, "capture"); 2022 fe->dai_link->name, "capture");
2025 mutex_unlock(&card->mutex); 2023 mutex_unlock(&card->mutex);
@@ -2084,7 +2082,6 @@ static int dpcm_fe_dai_open(struct snd_pcm_substream *fe_substream)
2084 fe->dpcm[stream].runtime = fe_substream->runtime; 2082 fe->dpcm[stream].runtime = fe_substream->runtime;
2085 2083
2086 if (dpcm_path_get(fe, stream, &list) <= 0) { 2084 if (dpcm_path_get(fe, stream, &list) <= 0) {
2087 dpcm_path_put(&list);
2088 dev_dbg(fe->dev, "ASoC: %s no valid %s route\n", 2085 dev_dbg(fe->dev, "ASoC: %s no valid %s route\n",
2089 fe->dai_link->name, stream ? "capture" : "playback"); 2086 fe->dai_link->name, stream ? "capture" : "playback");
2090 } 2087 }