aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/conf/options1
-rw-r--r--sys/dev/acpica/acpi.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/conf/options b/sys/conf/options
index 0644fb6e597e..561e2574b964 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -730,6 +730,7 @@ ACPI_MAX_TASKS opt_acpi.h
ACPI_MAX_THREADS opt_acpi.h
ACPI_DMAR opt_acpi.h
DEV_ACPI opt_acpi.h
+ACPI_EARLY_EPYC_WAR opt_acpi.h
# ISA support
DEV_ISA opt_isa.h
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index 6d7ed154c463..bcccd23c8c58 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -2254,6 +2254,8 @@ acpi_DeviceIsPresent(device_t dev)
h = acpi_get_handle(dev);
if (h == NULL)
return (FALSE);
+
+#ifdef ACPI_EARLY_EPYC_WAR
/*
* Onboard serial ports on certain AMD motherboards have an invalid _STA
* method that always returns 0. Force them to always be treated as present.
@@ -2262,6 +2264,7 @@ acpi_DeviceIsPresent(device_t dev)
*/
if (acpi_MatchHid(h, "AMDI0020") || acpi_MatchHid(h, "AMDI0010"))
return (TRUE);
+#endif
status = acpi_GetInteger(h, "_STA", &s);