mirror of https://gitee.com/openkylin/linux.git
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: 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>
This commit is contained in:
parent
39fb51a123
commit
853dc30274
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue