diff options
author | myers <none@none> | 2007-05-09 08:39:30 -0700 |
---|---|---|
committer | myers <none@none> | 2007-05-09 08:39:30 -0700 |
commit | 2700489547b0189992777b1336a929b734815baf (patch) | |
tree | ec6718134d251443b0d6457e7bf6a0d23129cc6a /usr/src | |
parent | c839f7d5515cd80a9c4f32cc29aa002e8ebc5dbb (diff) | |
download | illumos-gate-2700489547b0189992777b1336a929b734815baf.tar.gz |
6533533 psm: Dell Dimension 4600 doesn't quite poweroff any longer
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/i86pc/io/pcplusmp/apic.c | 8 | ||||
-rw-r--r-- | usr/src/uts/i86pc/io/psm/uppc.c | 12 |
2 files changed, 14 insertions, 6 deletions
diff --git a/usr/src/uts/i86pc/io/pcplusmp/apic.c b/usr/src/uts/i86pc/io/pcplusmp/apic.c index 532405f017..f51d4adcfd 100644 --- a/usr/src/uts/i86pc/io/pcplusmp/apic.c +++ b/usr/src/uts/i86pc/io/pcplusmp/apic.c @@ -1451,8 +1451,12 @@ apic_shutdown(int cmd, int fcn) if (cmd != A_SHUTDOWN) return; - /* switch system back into Legacy Mode if using ACPI */ - if (apic_enable_acpi) + /* + * Switch system back into Legacy-Mode if using ACPI and + * not powering-off. Some BIOSes need to remain in ACPI-mode + * for power-off to succeed (Dell Dimension 4600) + */ + if (apic_enable_acpi && (fcn != AD_POWEROFF)) (void) AcpiDisable(); /* remainder of function is for shutdown+poweroff case only */ diff --git a/usr/src/uts/i86pc/io/psm/uppc.c b/usr/src/uts/i86pc/io/psm/uppc.c index 27cb6a6a22..51181b0415 100644 --- a/usr/src/uts/i86pc/io/psm/uppc.c +++ b/usr/src/uts/i86pc/io/psm/uppc.c @@ -473,11 +473,15 @@ uppc_shutdown(int cmd, int fcn) if ((cmd != A_SHUTDOWN) || (!uppc_enable_acpi)) return; - /* switch system back into Legacy Mode */ - (void) AcpiDisable(); - - if (fcn != AD_POWEROFF) + /* + * Switch system back into Legacy-Mode if using ACPI and + * not powering-off. Some BIOSes need to remain in ACPI-mode + * for power-off to succeed (Dell Dimension 4600) + */ + if (fcn != AD_POWEROFF) { + (void) AcpiDisable(); return; + } (void) acpi_poweroff(); } |