ASoC: wm8711: fix a memory leak if another WM8711 is registered
authorAxel Lin <[email protected]>
Fri, 23 Jul 2010 05:53:47 +0000 (05:53 +0000)
committerMark Brown <[email protected]>
Tue, 3 Aug 2010 06:44:29 +0000 (07:44 +0100)
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 <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
sound/soc/codecs/wm8711.c

index effb14eee7d4cfddab8e191798cbea105f0cde63..e2dba07f0260d77279e32b9a433220465d6071f9 100644 (file)
@@ -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);