ASoC: ad1836: fix a memory leak if another ad1836 is registered
ad1836 is allocated in ad1836_spi_probe() but is not freed if ad1836_register() return -EINVAL (if another ad1836 is registered). Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Barry Song <21cnbao@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
@@ -272,6 +272,7 @@ static int ad1836_register(struct ad1836_priv *ad1836)
|
|||||||
|
|
||||||
if (ad1836_codec) {
|
if (ad1836_codec) {
|
||||||
dev_err(codec->dev, "Another ad1836 is registered\n");
|
dev_err(codec->dev, "Another ad1836 is registered\n");
|
||||||
|
kfree(ad1836);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user