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

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

ACPI / PM: Do not execute _PS0 for devices without _PSC during initialization

Commit b3785492 (ACPI / PM: Do not power manage devices in unknown
initial states) added code to force devices without _PSC, but having
_PS0 defined in the ACPI namespace, into ACPI power state D0 by
executing _PS0 for them.  That turned out to break Toshiba P870-303,
however, so revert that code.

References: https://bugzilla.kernel.org/show_bug.cgi?id=58201


Reported-and-tested-by: default avatarJerome Cantenot <jerome.cantenot@gmail.com>
Tracked-down-by: default avatarLan Tianyu <tianyu.lan@intel.com>
Cc: 3.9+ <stable@vger.kernel.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 9f29ab11
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -278,11 +278,13 @@ int acpi_bus_init_power(struct acpi_device *device)
		if (result)
			return result;
	} else if (state == ACPI_STATE_UNKNOWN) {
		/* No power resources and missing _PSC? Try to force D0. */
		/*
		 * No power resources and missing _PSC?  Cross fingers and make
		 * it D0 in hope that this is what the BIOS put the device into.
		 * [We tried to force D0 here by executing _PS0, but that broke
		 * Toshiba P870-303 in a nasty way.]
		 */
		state = ACPI_STATE_D0;
		result = acpi_dev_pm_explicit_set(device, state);
		if (result)
			return result;
	}
	device->power.state = state;
	return 0;