soc-core: don't call kfree() for component
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 19 Mar 2018 07:27:17 +0000 (07:27 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 19 Mar 2018 08:06:36 +0000 (16:06 +0800)
commit7ecbd6a91b1e9bb90a4f3be641669347aacc5ab5
tree6a01c76f63f7b1e7b9c10aa292cf1bba78b6abad
parent66717d787a092c1438d2ce7b31d47fe88b6b93ea
soc-core: don't call kfree() for component

When driver register its component to ALSA SoC, almost all drivers are
using snd_soc_register_component(), but soc-generic-dmaengine-pcm is
using snd_soc_add_component().

Existing component function had been assumed that registered component
was allocated, and it calling kfree() for it.
But, the user who used snd_soc_add_component() doesn't.

This patch uses devm_kzalloc() instead of kzalloc() for component,
and doesn't call kree() anymore.
This patch fixes commit be7ee5f32a9a ("ASoC: soc-generic-dmaengine-pcm:
replace platform to component").
Allwinner H3 SoC will crash without this patch.
Thanks Jernej report.

Reported-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c