spi/pl022: Fix device remove function
authorGuenter Roeck <linux@roeck-us.net>
Sun, 19 Aug 2012 17:44:17 +0000 (10:44 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 22 Aug 2012 18:25:52 +0000 (19:25 +0100)
The call sequence spi_alloc_master/spi_register_master/spi_unregister_master
is complete; it reduces the device reference count to zero, which results in
device memory being freed. An extra call to spi_master_put is unnecessary
and results in an access to free memory. Drop it.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-pl022.c

index aab518e..47c6753 100644 (file)
@@ -2171,7 +2171,6 @@ pl022_remove(struct amba_device *adev)
        amba_release_regions(adev);
        tasklet_disable(&pl022->pump_transfers);
        spi_unregister_master(pl022->master);
-       spi_master_put(pl022->master);
        amba_set_drvdata(adev, NULL);
        return 0;
 }