]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
spi: Fix device unregistration when unregistering the bus master
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 12 Dec 2011 00:15:06 +0000 (01:15 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 11 May 2012 12:14:09 +0000 (13:14 +0100)
commit 178db7d30f94707efca1a189753c105ef69942ed upstream.

Device are added as children of the bus master's parent device, but
spi_unregister_master() looks for devices to unregister in the bus
master's children. This results in the child devices not being
unregistered.

Fix this by registering devices as direct children of the bus master.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/spi/spi.c

index 77eae99af11ce7ee1541816f3e8c99b352b7a241..b2ccdea30cb92524427cffbad40ddeb5319f5b14 100644 (file)
@@ -319,7 +319,7 @@ struct spi_device *spi_alloc_device(struct spi_master *master)
        }
 
        spi->master = master;
-       spi->dev.parent = dev;
+       spi->dev.parent = &master->dev;
        spi->dev.bus = &spi_bus_type;
        spi->dev.release = spidev_release;
        device_initialize(&spi->dev);