summaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2007-03-10 05:18:46 +0100
committerLen Brown <len.brown@intel.com>2007-03-10 05:18:46 +0100
commitcb2ebc59ff52cee770cfd6ba5f23a6cc3c214648 (patch)
treed9ac06bd2cc92efc618cdfcce4a6142c9e0a00d5 /drivers/acpi
parentPull bugzilla-6859 into release branch (diff)
parentACPI: fix S3 fan resume issue (diff)
downloadlinux-cb2ebc59ff52cee770cfd6ba5f23a6cc3c214648.tar.xz
linux-cb2ebc59ff52cee770cfd6ba5f23a6cc3c214648.zip
Pull bugzilla-7570 into release branch
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/power.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index 1ef338545dfe..547eee7537bc 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -436,8 +436,6 @@ int acpi_power_transition(struct acpi_device *device, int state)
cl = &device->power.states[device->power.state].resources;
tl = &device->power.states[state].resources;
- device->power.state = ACPI_STATE_UNKNOWN;
-
if (!cl->count && !tl->count) {
result = -ENODEV;
goto end;
@@ -468,12 +466,15 @@ int acpi_power_transition(struct acpi_device *device, int state)
goto end;
}
- /* We shouldn't change the state till all above operations succeed */
- device->power.state = state;
- end:
- if (result)
+ end:
+ if (result) {
+ device->power.state = ACPI_STATE_UNKNOWN;
printk(KERN_WARNING PREFIX "Transitioning device [%s] to D%d\n",
device->pnp.bus_id, state);
+ } else {
+ /* We shouldn't change the state till all above operations succeed */
+ device->power.state = state;
+ }
return result;
}