diff options
author | njl <njl@FreeBSD.org> | 2004-04-14 16:50:32 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2004-04-14 16:50:32 +0000 |
commit | dddb7af88f13c7148125c30a85f44b025270f810 (patch) | |
tree | 88f5e001ec283f3a4240da0617860fed34ea2bd4 /sys/contrib | |
parent | 3c67c2e8d58f25daaed0d50f5d4355084f1faf87 (diff) | |
download | FreeBSD-src-dddb7af88f13c7148125c30a85f44b025270f810.zip FreeBSD-src-dddb7af88f13c7148125c30a85f44b025270f810.tar.gz |
Only avoid disabling bus mastering on the sleep path. This should fix
power off for some users. The patch has been submitted to Intel.
Bug: http://bugme.osdl.org/show_bug.cgi?id=2109
Diffstat (limited to 'sys/contrib')
-rw-r--r-- | sys/contrib/dev/acpica/hwsleep.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/sys/contrib/dev/acpica/hwsleep.c b/sys/contrib/dev/acpica/hwsleep.c index 13224c7..488e765 100644 --- a/sys/contrib/dev/acpica/hwsleep.c +++ b/sys/contrib/dev/acpica/hwsleep.c @@ -349,22 +349,22 @@ AcpiEnterSleepState ( SleepTypeRegInfo = AcpiHwGetBitRegisterInfo (ACPI_BITREG_SLEEP_TYPE_A); SleepEnableRegInfo = AcpiHwGetBitRegisterInfo (ACPI_BITREG_SLEEP_ENABLE); - if (SleepState != ACPI_STATE_S5) - { - /* Clear wake status */ + /* Clear wake status */ - Status = AcpiSetRegister (ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } + Status = AcpiSetRegister (ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK); + if (ACPI_FAILURE (Status)) + { + return_ACPI_STATUS (Status); + } - Status = AcpiHwClearAcpiStatus (ACPI_MTX_DO_NOT_LOCK); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } + Status = AcpiHwClearAcpiStatus (ACPI_MTX_DO_NOT_LOCK); + if (ACPI_FAILURE (Status)) + { + return_ACPI_STATUS (Status); + } + if (SleepState != ACPI_STATE_S5) + { /* Disable BM arbitration */ Status = AcpiSetRegister (ACPI_BITREG_ARB_DISABLE, 1, ACPI_MTX_DO_NOT_LOCK); |