soundwire: bus: disable pm_runtime in sdw_slave_delete
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Wed, 15 Jan 2020 00:08:41 +0000 (18:08 -0600)
committerVinod Koul <vkoul@kernel.org>
Tue, 25 Feb 2020 10:27:02 +0000 (15:57 +0530)
Before removing the slave device, disable pm_runtime to prevent any
race condition with the resume being executed after the bus and slave
devices are removed.

Since this pm_runtime_disable() is handled in common routines,
implementations of Slave drivers do not need to call it in their
.remove() routine.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200115000844.14695-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/bus.c

index 57dec61..33bb273 100644 (file)
@@ -113,6 +113,8 @@ static int sdw_delete_slave(struct device *dev, void *data)
        struct sdw_slave *slave = dev_to_sdw_dev(dev);
        struct sdw_bus *bus = slave->bus;
 
+       pm_runtime_disable(dev);
+
        sdw_slave_debugfs_exit(slave);
 
        mutex_lock(&bus->bus_lock);