Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F171147796
D55118.id171184.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D55118.id171184.diff
View Options
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -2128,6 +2128,7 @@
struct acpi_softc *sc;
ACPI_HANDLE handle;
ACPI_STATUS status;
+ int state;
char sxd[8];
handle = acpi_get_handle(dev);
@@ -2149,9 +2150,17 @@
/*
* Override next state with the value from _SxD, if present.
* Note illegal _S0D is evaluated because some systems expect this.
+ *
+ * XXX: obiwac When doing s2idle, we call _S3D. Not entirely sure this is
+ * correct, but I can't find any info on which _SxD object we should be
+ * evaluating.
*/
sc = device_get_softc(bus);
- snprintf(sxd, sizeof(sxd), "_S%dD", acpi_stype_to_sstate(sc, sc->acpi_stype));
+ if (sc->acpi_stype == POWER_STYPE_SUSPEND_TO_IDLE)
+ state = ACPI_STATE_S3;
+ else
+ state = acpi_stype_to_sstate(sc, sc->acpi_stype);
+ snprintf(sxd, sizeof(sxd), "_S%dD", state);
status = acpi_GetInteger(handle, sxd, dstate);
if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
device_printf(dev, "failed to get %s on %s: %s\n", sxd,
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Sep 10, 12:31 AM (7 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38622418
Default Alt Text
D55118.id171184.diff (1 KB)
Attached To
Mode
D55118: acpi: Parse _S3D s2idle instead of _S255D
Attached
Detach File
Event Timeline
Log In to Comment