Commit 7b6f68a4 authored by Bard liao's avatar Bard liao Committed by Mark Brown

ASoC: topology: free stream_name of dai_drv

The stream_name is allocated by kstrdup. We have to free it when the
dai is removed or return from error.
Signed-off-by: default avatarBard liao <yung-chuan.liao@linux.intel.com>
Acked-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3863293a
...@@ -535,6 +535,8 @@ static void remove_dai(struct snd_soc_component *comp, ...@@ -535,6 +535,8 @@ static void remove_dai(struct snd_soc_component *comp,
if (dai->driver == dai_drv) if (dai->driver == dai_drv)
dai->driver = NULL; dai->driver = NULL;
kfree(dai_drv->playback.stream_name);
kfree(dai_drv->capture.stream_name);
kfree(dai_drv->name); kfree(dai_drv->name);
list_del(&dobj->list); list_del(&dobj->list);
kfree(dai_drv); kfree(dai_drv);
...@@ -1808,6 +1810,9 @@ static int soc_tplg_dai_create(struct soc_tplg *tplg, ...@@ -1808,6 +1810,9 @@ static int soc_tplg_dai_create(struct soc_tplg *tplg,
ret = soc_tplg_dai_load(tplg, dai_drv, pcm, NULL); ret = soc_tplg_dai_load(tplg, dai_drv, pcm, NULL);
if (ret < 0) { if (ret < 0) {
dev_err(tplg->comp->dev, "ASoC: DAI loading failed\n"); dev_err(tplg->comp->dev, "ASoC: DAI loading failed\n");
kfree(dai_drv->playback.stream_name);
kfree(dai_drv->capture.stream_name);
kfree(dai_drv->name);
kfree(dai_drv); kfree(dai_drv);
return ret; return ret;
} }
......
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