ASoC: Fix error handling in e800_init to free gpios
authorAxel Lin <axel.lin@gmail.com>
Wed, 7 Dec 2011 02:01:30 +0000 (10:01 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 7 Dec 2011 16:14:19 +0000 (00:14 +0800)
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/pxa/e800_wm9712.c

index 6a8f38b..26e0232 100644 (file)
@@ -136,8 +136,10 @@ static int __init e800_init(void)
                goto free_spk_amp_gpio;
 
        e800_snd_device = platform_device_alloc("soc-audio", -1);
-       if (!e800_snd_device)
-               return -ENOMEM;
+       if (!e800_snd_device) {
+               ret = -ENOMEM;
+               goto free_spk_amp_gpio;
+       }
 
        platform_set_drvdata(e800_snd_device, &e800);
        ret = platform_device_add(e800_snd_device);