spi: fsl-spi: Fix memory leak
authorAxel Lin <axel.lin@ingics.com>
Sun, 30 Mar 2014 08:42:57 +0000 (16:42 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 14 Apr 2014 16:18:55 +0000 (17:18 +0100)
mpc8xxx_spi_probe() has set master->cleanup = mpc8xxx_spi_cleanup,
however current code overrides the setting in fsl_spi_probe() and set
master->cleanup = fsl_spi_cleanup.
Thus the memory allocated for cs is not freed anywhere.
Convert to use devm_kzalloc to fix the memory leak.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-fsl-spi.c

index b3e7775..98ccd23 100644 (file)
@@ -431,7 +431,7 @@ static int fsl_spi_setup(struct spi_device *spi)
                return -EINVAL;
 
        if (!cs) {
-               cs = kzalloc(sizeof *cs, GFP_KERNEL);
+               cs = devm_kzalloc(&spi->dev, sizeof(*cs), GFP_KERNEL);
                if (!cs)
                        return -ENOMEM;
                spi->controller_state = cs;