diff options
author | Tony Luck <tony.luck@intel.com> | 2005-06-21 19:21:20 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-06-21 19:21:20 -0400 |
commit | 29516d75a0b09e0a0328dd55c98a342515c9615a (patch) | |
tree | 4b03326311958ad6de82653a1caf289ad8c38538 /drivers/base/power/resume.c | |
parent | 4ea78729b8dbfc400fe165a57b90a394a7275a54 (diff) | |
parent | 4a4f8fdba6f5a34ca90f426021e17491a30202da (diff) |
Auto merge with /home/aegl/GIT/linus
Diffstat (limited to 'drivers/base/power/resume.c')
-rw-r--r-- | drivers/base/power/resume.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/base/power/resume.c b/drivers/base/power/resume.c index 26468971ef5a..bdd96b03b885 100644 --- a/drivers/base/power/resume.c +++ b/drivers/base/power/resume.c | |||
@@ -22,6 +22,9 @@ extern int sysdev_resume(void); | |||
22 | 22 | ||
23 | int resume_device(struct device * dev) | 23 | int resume_device(struct device * dev) |
24 | { | 24 | { |
25 | int error = 0; | ||
26 | |||
27 | down(&dev->sem); | ||
25 | if (dev->power.pm_parent | 28 | if (dev->power.pm_parent |
26 | && dev->power.pm_parent->power.power_state) { | 29 | && dev->power.pm_parent->power.power_state) { |
27 | dev_err(dev, "PM: resume from %d, parent %s still %d\n", | 30 | dev_err(dev, "PM: resume from %d, parent %s still %d\n", |
@@ -31,9 +34,10 @@ int resume_device(struct device * dev) | |||
31 | } | 34 | } |
32 | if (dev->bus && dev->bus->resume) { | 35 | if (dev->bus && dev->bus->resume) { |
33 | dev_dbg(dev,"resuming\n"); | 36 | dev_dbg(dev,"resuming\n"); |
34 | return dev->bus->resume(dev); | 37 | error = dev->bus->resume(dev); |
35 | } | 38 | } |
36 | return 0; | 39 | up(&dev->sem); |
40 | return error; | ||
37 | } | 41 | } |
38 | 42 | ||
39 | 43 | ||