diff options
| author | Mitsuru IWASAKI <iwasaki@FreeBSD.org> | 2001-11-28 12:09:42 +0000 |
|---|---|---|
| committer | Mitsuru IWASAKI <iwasaki@FreeBSD.org> | 2001-11-28 12:09:42 +0000 |
| commit | b9c780d64e2d0309dfe5c48e138582e10408d9d1 (patch) | |
| tree | ba2edf74d1fb35946c1f134c8e0c8fe1b0332140 | |
| parent | 7d3346ca1f857d6078f948e03b83abae618820da (diff) | |
Notes
| -rw-r--r-- | sys/dev/acpica/acpi.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 62958168bd2a..cc8b86f30620 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -889,6 +889,12 @@ acpi_shutdown_final(void *arg, int howto) if (howto & RB_POWEROFF) { printf("Power system off using ACPI...\n"); + status = AcpiEnterSleepStatePrep(acpi_off_state); + if (status != AE_OK) { + printf("AcpiEnterSleepStatePrep failed - %s\n", + AcpiFormatException(status)); + return; + } if ((status = AcpiEnterSleepState(acpi_off_state)) != AE_OK) { printf("ACPI power-off failed - %s\n", AcpiFormatException(status)); } else { @@ -1340,6 +1346,14 @@ acpi_SetSleepState(struct acpi_softc *sc, int state) DEVICE_RESUME(root_bus); return_ACPI_STATUS(AE_ERROR); } + + status = AcpiEnterSleepStatePrep(state); + if (status != AE_OK) { + device_printf(sc->acpi_dev, "AcpiEnterSleepStatePrep failed - %s\n", + AcpiFormatException(status)); + break; + } + sc->acpi_sstate = state; if (state != ACPI_STATE_S1) { |
