浏览代码

ASoC: wm8711: fix a memory leak if another WM8711 is registered

wm8711 is allocated in either wm8711_spi_probe() or wm8711_i2c_probe() but is
not freed if wm8711_register() return -EINVAL(if another ad1836 is registered).

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Axel Lin 15 年之前
父节点
当前提交
2c2749de11
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      sound/soc/codecs/wm8711.c

+ 2 - 1
sound/soc/codecs/wm8711.c

@@ -439,7 +439,8 @@ static int wm8711_register(struct wm8711_priv *wm8711,
 
 	if (wm8711_codec) {
 		dev_err(codec->dev, "Another WM8711 is registered\n");
-		return -EINVAL;
+		ret = -EINVAL;
+		goto err;
 	}
 
 	mutex_init(&codec->mutex);