Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 172349
b: refs/heads/master
c: 63c9480
h: refs/heads/master
i:
  172347: 6efd851
v: v3
  • Loading branch information
Alan Stern authored and Rafael J. Wysocki committed Dec 6, 2009
1 parent 8031a79 commit 8739552
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7b199ca2025f4756daceec8802f07da636c524c9
refs/heads/master: 63c94801701abfea21570d3302687ec027ed33e8
11 changes: 7 additions & 4 deletions trunk/drivers/base/power/runtime.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ int __pm_runtime_suspend(struct device *dev, bool from_wq)
}

dev->power.runtime_status = RPM_SUSPENDING;
dev->power.deferred_resume = false;

if (dev->bus && dev->bus->pm && dev->bus->pm->runtime_suspend) {
spin_unlock_irq(&dev->power.lock);
Expand All @@ -200,7 +201,6 @@ int __pm_runtime_suspend(struct device *dev, bool from_wq)
if (retval) {
dev->power.runtime_status = RPM_ACTIVE;
pm_runtime_cancel_pending(dev);
dev->power.deferred_resume = false;

if (retval == -EAGAIN || retval == -EBUSY) {
notify = true;
Expand All @@ -217,7 +217,6 @@ int __pm_runtime_suspend(struct device *dev, bool from_wq)
wake_up_all(&dev->power.wait_queue);

if (dev->power.deferred_resume) {
dev->power.deferred_resume = false;
__pm_runtime_resume(dev, false);
retval = -EAGAIN;
goto out;
Expand Down Expand Up @@ -659,13 +658,17 @@ static int __pm_request_resume(struct device *dev)

pm_runtime_deactivate_timer(dev);

if (dev->power.runtime_status == RPM_SUSPENDING) {
dev->power.deferred_resume = true;
return retval;
}
if (dev->power.request_pending) {
/* If non-resume request is pending, we can overtake it. */
dev->power.request = retval ? RPM_REQ_NONE : RPM_REQ_RESUME;
return retval;
} else if (retval) {
return retval;
}
if (retval)
return retval;

dev->power.request = RPM_REQ_RESUME;
dev->power.request_pending = true;
Expand Down

0 comments on commit 8739552

Please sign in to comment.