ASoC: Fix incorrect kfree in ad1836_probe error path
authorAxel Lin <axel.lin@gmail.com>
Tue, 16 Nov 2010 08:08:00 +0000 (16:08 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 16 Nov 2010 11:23:24 +0000 (11:23 +0000)
We allocated memory for ad1836 in ad1836_spi_probe,
and will free the memory in either ad1836_spi_probe error path or
ad1836_spi_remove.

Thus we should not call kfree(ad1836) in ad1836_probe, otherwise
we have double free of ad1836.

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>
sound/soc/codecs/ad1836.c

index c71b05ddd752f18148f393ca8039896b39a28d13..e5d3db950a0874c951e75767faca3ffa4f37b4dd 100644 (file)
@@ -228,7 +228,6 @@ static int ad1836_probe(struct snd_soc_codec *codec)
        if (ret < 0) {
                dev_err(codec->dev, "failed to set cache I/O: %d\n",
                                ret);
-               kfree(ad1836);
                return ret;
        }