summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/acpica/acpi_perf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi_perf.c b/sys/dev/acpica/acpi_perf.c
index ab17a56..629f036 100644
--- a/sys/dev/acpica/acpi_perf.c
+++ b/sys/dev/acpica/acpi_perf.c
@@ -273,7 +273,16 @@ acpi_perf_evaluate(device_t dev)
device_printf(dev, "invalid _PSS package\n");
continue;
}
+
+ /*
+ * Check for some impossible frequencies that some systems
+ * use to indicate they don't actually support Px states.
+ */
p = &sc->px_states[i].core_freq;
+ if (*p == 9999 || *p == 0xffff)
+ goto out;
+
+ /* Parse the rest of the package into the struct. */
for (j = 0; j < 6; j++, p++)
acpi_PkgInt32(res, j, p);
}
OpenPOWER on IntegriCloud