Pull bugzilla-7570 into release branch

This commit is contained in:
Len Brown 2007-03-09 23:18:46 -05:00
commit cb2ebc59ff

View file

@ -436,8 +436,6 @@ int acpi_power_transition(struct acpi_device *device, int state)
cl = &device->power.states[device->power.state].resources; cl = &device->power.states[device->power.state].resources;
tl = &device->power.states[state].resources; tl = &device->power.states[state].resources;
device->power.state = ACPI_STATE_UNKNOWN;
if (!cl->count && !tl->count) { if (!cl->count && !tl->count) {
result = -ENODEV; result = -ENODEV;
goto end; goto end;
@ -468,12 +466,15 @@ int acpi_power_transition(struct acpi_device *device, int state)
goto end; goto end;
} }
/* We shouldn't change the state till all above operations succeed */ end:
device->power.state = state; if (result) {
end: device->power.state = ACPI_STATE_UNKNOWN;
if (result)
printk(KERN_WARNING PREFIX "Transitioning device [%s] to D%d\n", printk(KERN_WARNING PREFIX "Transitioning device [%s] to D%d\n",
device->pnp.bus_id, state); device->pnp.bus_id, state);
} else {
/* We shouldn't change the state till all above operations succeed */
device->power.state = state;
}
return result; return result;
} }