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

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
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -535,6 +535,8 @@ static void remove_dai(struct snd_soc_component *comp,
		if (dai->driver == dai_drv)
			dai->driver = NULL;

	kfree(dai_drv->playback.stream_name);
	kfree(dai_drv->capture.stream_name);
	kfree(dai_drv->name);
	list_del(&dobj->list);
	kfree(dai_drv);
@@ -1808,6 +1810,9 @@ static int soc_tplg_dai_create(struct soc_tplg *tplg,
	ret = soc_tplg_dai_load(tplg, dai_drv, pcm, NULL);
	if (ret < 0) {
		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);
		return ret;
	}