[alsa-devel] [PATCH] ASoC: snd-core: tidyup snd_soc_register_codec() fail case
kfree() on snd_soc_register_codec() was summarized to one place.
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- sound/soc/soc-core.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 689eb04..ceac893 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3983,8 +3983,8 @@ int snd_soc_register_codec(struct device *dev, /* create CODEC component name */ codec->name = fmt_single_name(dev, &codec->id); if (codec->name == NULL) { - kfree(codec); - return -ENOMEM; + ret = -ENOMEM; + goto fail_codec; }
if (codec_drv->compress_type) @@ -4023,7 +4023,7 @@ int snd_soc_register_codec(struct device *dev, reg_size, GFP_KERNEL); if (!codec->reg_def_copy) { ret = -ENOMEM; - goto fail; + goto fail_codec_name; } } } @@ -4057,8 +4057,9 @@ int snd_soc_register_codec(struct device *dev, dev_dbg(codec->dev, "ASoC: Registered codec '%s'\n", codec->name); return 0;
-fail: +fail_codec_name: kfree(codec->name); +fail_codec: kfree(codec); return ret; }
participants (2)
-
Kuninori Morimoto
-
Mark Brown