eeprom: at25: Fix SPI device leak
authorMark Brown <broonie@kernel.org>
Wed, 20 Apr 2016 09:16:35 +0000 (10:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 May 2016 21:04:19 +0000 (14:04 -0700)
The at25 driver is using spi_dev_get() apparently just to take a copy
of the SPI device used to instantiate it but never calls spi_dev_put()
to free it.  Since the device is guaranteed to exist between probe() and
remove() there should be no need for the driver to take an extra
reference to it so fix the leak by just using a straight assignment.

Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/eeprom/at25.c

index a2858b3..2c6c7c8 100644 (file)
@@ -345,7 +345,7 @@ static int at25_probe(struct spi_device *spi)
 
        mutex_init(&at25->lock);
        at25->chip = chip;
-       at25->spi = spi_dev_get(spi);
+       at25->spi = spi;
        spi_set_drvdata(spi, at25);
        at25->addrlen = addrlen;