diff options
author | 2008-01-21 12:43:09 +0000 | |
---|---|---|
committer | 2008-01-21 12:43:09 +0000 | |
commit | 7c8f9c3d51ab6eab959a6ee126ebe466a0b3022f (patch) | |
tree | 0feb6b859fb938b7a5e40a5662f1c5c5c21e6d0b | |
parent | Fix boot time interrupt storm on mec(4) by disabling DMA when stopping the (diff) | |
download | wireguard-openbsd-7c8f9c3d51ab6eab959a6ee126ebe466a0b3022f.tar.xz wireguard-openbsd-7c8f9c3d51ab6eab959a6ee126ebe466a0b3022f.zip |
Check against RESET_REG_SUP in FADT before doing the acpi reset dance
after all, not doing so appears to break more machines than it fixes.
ok marco@
-rw-r--r-- | sys/dev/acpi/acpi.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/acpi/acpi.c b/sys/dev/acpi/acpi.c index fcab2fefb15..a81dbbc553e 100644 --- a/sys/dev/acpi/acpi.c +++ b/sys/dev/acpi/acpi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: acpi.c,v 1.112 2008/01/05 18:26:30 kettenis Exp $ */ +/* $OpenBSD: acpi.c,v 1.113 2008/01/21 12:43:09 jsg Exp $ */ /* * Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com> * Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org> @@ -1195,8 +1195,12 @@ acpi_reset(void) fadt = acpi_softc->sc_fadt; - /* FADT_RESET_REG_SUP is not properly set in some implementations */ - if (acpi_softc->sc_revision <= 1 || fadt->reset_reg.address == 0) + /* + * RESET_REG_SUP is not properly set in some implementations, + * but not testing against it breaks more machines than it fixes + */ + if (acpi_softc->sc_revision <= 1 || + !(fadt->flags & FADT_RESET_REG_SUP) || fadt->reset_reg.address == 0) return; value = fadt->reset_value; |