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 a2858b33585e3103b617c0876fa21f8ca1dae606..2c6c7c8e3ead068798c1180884be47cc2e327c49 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;