From: Ulf Hansson Date: Fri, 12 Apr 2013 09:41:30 +0000 (+0000) Subject: PM / Runtime: Asyncronous idle|suspend parent devices at removal X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=db28dfac99983e70b5a93b6c81c43d2c74fde20d;p=deliverable%2Flinux.git PM / Runtime: Asyncronous idle|suspend parent devices at removal For irq safe devices return the runtime reference for the parent by using the asyncronous runtime PM API. Thus we don't have to wait for it to become idle|suspended. Instead we can move on and handle the next device in queue. Signed-off-by: Ulf Hansson Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c index 1244930e3d7a..ef13ad08afb2 100644 --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c @@ -1400,5 +1400,5 @@ void pm_runtime_remove(struct device *dev) if (dev->power.runtime_status == RPM_ACTIVE) pm_runtime_set_suspended(dev); if (dev->power.irq_safe && dev->parent) - pm_runtime_put_sync(dev->parent); + pm_runtime_put(dev->parent); }