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