summaryrefslogtreecommitdiff
path: root/sys/dev/acpi
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2009-02-04 20:09:04 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2009-02-04 20:09:04 +0000
commitee4dbb556fd6b40c4aba4483d9401e7ebaf7bf2c (patch)
treee85f8ab53078aad5a61abf4384058874872ad4f5 /sys/dev/acpi
parentb04f397dde5aabc22753f4fa7205ba932bd7b678 (diff)
Some systems that claim to be ACPI 2.0 apparently don't provide an XSDT
address. Make the code fall back on the RSDT on those systems. From Joerg Niendorf <p3y80@internode.on.net>. Fixes PR 5986.
Diffstat (limited to 'sys/dev/acpi')
-rw-r--r--sys/dev/acpi/acpi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/acpi/acpi.c b/sys/dev/acpi/acpi.c
index 7530d3e98ff..fdd97389a7a 100644
--- a/sys/dev/acpi/acpi.c
+++ b/sys/dev/acpi/acpi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi.c,v 1.127 2009/01/17 17:17:11 krw Exp $ */
+/* $OpenBSD: acpi.c,v 1.128 2009/02/04 20:09:03 kettenis Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
@@ -658,7 +658,7 @@ acpi_loadtables(struct acpi_softc *sc, struct acpi_rsdp *rsdp)
int i, ntables;
size_t len;
- if (rsdp->rsdp_revision == 2) {
+ if (rsdp->rsdp_revision == 2 && rsdp->rsdp_xsdt) {
struct acpi_xsdt *xsdt;
if (acpi_map(rsdp->rsdp_xsdt, sizeof(*hdr), &handle)) {