diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2011-02-04 13:46:43 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-02-04 13:46:43 -0500 |
commit | c64eae9a73a847c1698f913c893aa4012d2a30b0 (patch) | |
tree | 732684b9ffe9dfd6e9a11b1f006eaaefeb0e945b /drivers/base/power/runtime.c | |
parent | c9e358dfc4a8cb2227172ef77908c2e0ee17bcb9 (diff) | |
parent | ebf53826e105f488f4f628703a108e98940d1dc5 (diff) |
Merge commit 'v2.6.38-rc3' into devicetree/next
Diffstat (limited to 'drivers/base/power/runtime.c')
-rw-r--r-- | drivers/base/power/runtime.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c index 656493a5e07..42615b419df 100644 --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c | |||
@@ -407,12 +407,15 @@ static int rpm_suspend(struct device *dev, int rpmflags) | |||
407 | goto out; | 407 | goto out; |
408 | } | 408 | } |
409 | 409 | ||
410 | /* Maybe the parent is now able to suspend. */ | ||
410 | if (parent && !parent->power.ignore_children && !dev->power.irq_safe) { | 411 | if (parent && !parent->power.ignore_children && !dev->power.irq_safe) { |
411 | spin_unlock_irq(&dev->power.lock); | 412 | spin_unlock(&dev->power.lock); |
412 | 413 | ||
413 | pm_request_idle(parent); | 414 | spin_lock(&parent->power.lock); |
415 | rpm_idle(parent, RPM_ASYNC); | ||
416 | spin_unlock(&parent->power.lock); | ||
414 | 417 | ||
415 | spin_lock_irq(&dev->power.lock); | 418 | spin_lock(&dev->power.lock); |
416 | } | 419 | } |
417 | 420 | ||
418 | out: | 421 | out: |