diff options
author | 2013-06-02 17:21:38 +0000 | |
---|---|---|
committer | 2013-06-02 17:21:38 +0000 | |
commit | dd8b624b26e63fac772ec2b2bf914af0d7621853 (patch) | |
tree | 4f5709915ddabac0fe2d9247c249e1b35e7052ea | |
parent | Hide members of __va_list in the implementation namespace (diff) | |
download | wireguard-openbsd-dd8b624b26e63fac772ec2b2bf914af0d7621853.tar.xz wireguard-openbsd-dd8b624b26e63fac772ec2b2bf914af0d7621853.zip |
support aml_store to a method object to override it
resolves a problem parsing the AML on an ASUS UX21A
originally from armani@
ok kettenis@
-rw-r--r-- | sys/dev/acpi/dsdt.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/acpi/dsdt.c b/sys/dev/acpi/dsdt.c index fac43d07815..f658e745c67 100644 --- a/sys/dev/acpi/dsdt.c +++ b/sys/dev/acpi/dsdt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsdt.c,v 1.202 2013/06/02 01:22:00 kettenis Exp $ */ +/* $OpenBSD: dsdt.c,v 1.203 2013/06/02 17:21:38 jcs Exp $ */ /* * Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org> * @@ -2695,6 +2695,14 @@ aml_store(struct aml_scope *scope, struct aml_value *lhs , int64_t ival, } aml_copyvalue(node->value, rhs); break; + case AML_OBJTYPE_METHOD: + /* Method override */ + if (rhs->type != AML_OBJTYPE_INTEGER) { + aml_die("Overriding a method with a non-int?"); + } + aml_freevalue(lhs); + aml_copyvalue(lhs, rhs); + break; default: aml_die("Store to default type! %x\n", lhs->type); break; |