spi: bcm63xx: fix reference leak to master in bcm63xx_spi_remove()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 15 Nov 2013 07:50:59 +0000 (15:50 +0800)
committerMark Brown <broonie@linaro.org>
Fri, 15 Nov 2013 10:32:38 +0000 (10:32 +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: 247263dba208 ('spi: bcm63xx: 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-bcm63xx.c

index 80d56b2..469ecd8 100644 (file)
@@ -435,7 +435,7 @@ out:
 
 static int bcm63xx_spi_remove(struct platform_device *pdev)
 {
-       struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
+       struct spi_master *master = platform_get_drvdata(pdev);
        struct bcm63xx_spi *bs = spi_master_get_devdata(master);
 
        /* reset spi block */