Commit 853dc302 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

ASoC: Fix resource leak in goni_wm8994.c

Properly free allocated resources in goni_init() error path.
Add missing snd_soc_unregister_dai() in goni_exit().
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarJassi Brar <jassi.brar@samsung.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 39fb51a1
...@@ -283,20 +283,25 @@ static int __init goni_init(void) ...@@ -283,20 +283,25 @@ static int __init goni_init(void)
/* register voice DAI here */ /* register voice DAI here */
ret = snd_soc_register_dai(&goni_snd_device->dev, &voice_dai); ret = snd_soc_register_dai(&goni_snd_device->dev, &voice_dai);
if (ret) if (ret) {
platform_device_put(goni_snd_device);
return ret; return ret;
}
platform_set_drvdata(goni_snd_device, &goni); platform_set_drvdata(goni_snd_device, &goni);
ret = platform_device_add(goni_snd_device); ret = platform_device_add(goni_snd_device);
if (ret) if (ret) {
snd_soc_unregister_dai(&goni_snd_device->dev);
platform_device_put(goni_snd_device); platform_device_put(goni_snd_device);
}
return ret; return ret;
} }
static void __exit goni_exit(void) static void __exit goni_exit(void)
{ {
snd_soc_unregister_dai(&goni_snd_device->dev);
platform_device_unregister(goni_snd_device); platform_device_unregister(goni_snd_device);
} }
......
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