aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 835ed32..68bd89e 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1743,10 +1743,12 @@ void device_shutdown(void)
*/
list_del_init(&dev->kobj.entry);
spin_unlock(&devices_kset->list_lock);
- /* Disable all device's runtime power management */
- pm_runtime_disable(dev);
-#if defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_PX)
+ /* Don't allow any more runtime suspends */
+ pm_runtime_get_noresume(dev);
+ pm_runtime_barrier(dev);
+
+#if defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_PX) || defined(CONFIG_MACH_MIDAS)
/* Temporary log to analyze a problem during shutdown */
if (dev->bus && dev->bus->shutdown) {
dev_info(dev, "shutdown +: %pF\n", dev->bus->shutdown);