spi: mpc512x: fix reference leak to master in mpc512x_psc_spi_do_remove()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 15 Nov 2013 07:48:56 +0000 (15:48 +0800)
committerMark Brown <broonie@linaro.org>
Fri, 15 Nov 2013 10:29:38 +0000 (10:29 +0000)
Once a spi_master_get() call succeeds, we need an additional
spi_master_put() call to free the memory, otherwise we will
leak a reference to master. Fix by removing the unnecessary
spi_master_get() call.

Fixes: eaa24297846b ('spi: mpc512x: use devm_spi_register_master()')
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-mpc512x-psc.c

index ee6e61cbf7f514caa5c5ebb212e0811426e8b408..e9f22a802cdb4047cdf0a1c0776a6bc99ffbd033 100644 (file)
@@ -556,7 +556,7 @@ free_master:
 
 static int mpc512x_psc_spi_do_remove(struct device *dev)
 {
-       struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
+       struct spi_master *master = dev_get_drvdata(dev);
        struct mpc512x_psc_spi *mps = spi_master_get_devdata(master);
 
        clk_disable_unprepare(mps->clk_mclk);