diff options
Diffstat (limited to 'drivers/base/dd.c')
| -rw-r--r-- | drivers/base/dd.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index da57ee9d63f..29917c7506c 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -316,8 +316,7 @@ static void __device_release_driver(struct device *dev)  	drv = dev->driver;  	if (drv) { -		pm_runtime_get_noresume(dev); -		pm_runtime_barrier(dev); +		pm_runtime_get_sync(dev);  		driver_sysfs_remove(dev); @@ -326,6 +325,8 @@ static void __device_release_driver(struct device *dev)  						     BUS_NOTIFY_UNBIND_DRIVER,  						     dev); +		pm_runtime_put_sync(dev); +  		if (dev->bus && dev->bus->remove)  			dev->bus->remove(dev);  		else if (drv->remove) @@ -338,7 +339,6 @@ static void __device_release_driver(struct device *dev)  						     BUS_NOTIFY_UNBOUND_DRIVER,  						     dev); -		pm_runtime_put_sync(dev);  	}  }  |