Commit bd6327fd authored by Srinivasa Rao Mandadapu's avatar Srinivasa Rao Mandadapu Committed by Mark Brown

ASoC: qcom: lpass-platform: Fix memory leak

lpass_pcm_data is not freed in error paths. Free it in
error paths to avoid memory leak.

Fixes: 022d00ee ("ASoC: lpass-platform: Fix broken pcm data usage")
Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarV Sujith Kumar Reddy <vsujithk@codeaurora.org>
Signed-off-by: default avatarSrinivasa Rao Mandadapu <srivasam@codeaurora.org>
Link: https://lore.kernel.org/r/1605416210-14530-1-git-send-email-srivasam@codeaurora.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 1bd7b0fc
...@@ -122,8 +122,10 @@ static int lpass_platform_pcmops_open(struct snd_soc_component *component, ...@@ -122,8 +122,10 @@ static int lpass_platform_pcmops_open(struct snd_soc_component *component,
else else
dma_ch = 0; dma_ch = 0;
if (dma_ch < 0) if (dma_ch < 0) {
kfree(data);
return dma_ch; return dma_ch;
}
if (cpu_dai->driver->id == LPASS_DP_RX) { if (cpu_dai->driver->id == LPASS_DP_RX) {
map = drvdata->hdmiif_map; map = drvdata->hdmiif_map;
...@@ -147,6 +149,7 @@ static int lpass_platform_pcmops_open(struct snd_soc_component *component, ...@@ -147,6 +149,7 @@ static int lpass_platform_pcmops_open(struct snd_soc_component *component,
ret = snd_pcm_hw_constraint_integer(runtime, ret = snd_pcm_hw_constraint_integer(runtime,
SNDRV_PCM_HW_PARAM_PERIODS); SNDRV_PCM_HW_PARAM_PERIODS);
if (ret < 0) { if (ret < 0) {
kfree(data);
dev_err(soc_runtime->dev, "setting constraints failed: %d\n", dev_err(soc_runtime->dev, "setting constraints failed: %d\n",
ret); ret);
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment