diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-07-23 05:53:47 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-08-03 07:44:29 +0100 |
commit | 2c2749de118bd36645b3a4a56f0d8ef6d4fd09cf (patch) | |
tree | 9b0a3bfba7b09e1cf80e7b147f736009fdba4cb3 /sound | |
parent | ef99e9b5a10086bcc529e6c0a11c6539caee8cd1 (diff) | |
download | linux-3.10-2c2749de118bd36645b3a4a56f0d8ef6d4fd09cf.tar.gz linux-3.10-2c2749de118bd36645b3a4a56f0d8ef6d4fd09cf.tar.bz2 linux-3.10-2c2749de118bd36645b3a4a56f0d8ef6d4fd09cf.zip |
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm8711.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8711.c b/sound/soc/codecs/wm8711.c index effb14eee7d..e2dba07f026 100644 --- a/sound/soc/codecs/wm8711.c +++ b/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); |