diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 35fa368989162fcadc0d6ee7b025c9f323fc9128..06051767393f7638d4ea02a14bfc5a8a689a0305 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -499,7 +499,7 @@ static void __device_release_driver(struct device *dev)
 						     BUS_NOTIFY_UNBIND_DRIVER,
 						     dev);
 
-		pm_runtime_put(dev);
+		pm_runtime_put_sync(dev);
 
 		if (dev->bus && dev->bus->remove)
 			dev->bus->remove(dev);