Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5656271 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

ACPI / PM: Fix device power state value after transitions to D3cold



When a transition to the D3cold power state is requested,
acpi_device_set_power() first carries out a transition to D3hot and
then turns off the device's power resources.  However, it fails to
update the device's power.state field appropriately and D3hot is
stored in it as a result.

Fix this, but make sure that the device's power state will be
D3hot if its power resources cannot be turned off in the final
step.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 898fee4f
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -264,8 +264,11 @@ int acpi_device_set_power(struct acpi_device *device, int state)
	if (result)
		goto end;

	if (cut_power)
		result = acpi_power_transition(device, ACPI_STATE_D3_COLD);
	if (cut_power) {
		device->power.state = state;
		state = ACPI_STATE_D3_COLD;
		result = acpi_power_transition(device, state);
	}

 end:
	if (result) {