summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-01-03 02:01:39 +0000
committernjl <njl@FreeBSD.org>2004-01-03 02:01:39 +0000
commit5b9bbee08a34c013ab6b7b6432dd37835012f868 (patch)
treef93cf1a0f1523d76817a1bb06418ef29cb5029dc
parent6bccc23255928978735058e54187dd3efa32b3a6 (diff)
downloadFreeBSD-src-5b9bbee08a34c013ab6b7b6432dd37835012f868.zip
FreeBSD-src-5b9bbee08a34c013ab6b7b6432dd37835012f868.tar.gz
Delete the region we are passed if that is the requested operation.
This should fix the problem with removing an address space handler although we don't currently use that capability so it's unlikely anyone saw this problem.
-rw-r--r--sys/dev/acpica/acpi_ec.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/acpica/acpi_ec.c b/sys/dev/acpica/acpi_ec.c
index c0a4207..1ad4ccc 100644
--- a/sys/dev/acpica/acpi_ec.c
+++ b/sys/dev/acpica/acpi_ec.c
@@ -697,9 +697,13 @@ EcSpaceSetup(ACPI_HANDLE Region, UINT32 Function, void *Context,
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
/*
- * Just pass the context through, there's nothing to do here.
+ * If deactivating a region, always set the output to NULL. Otherwise,
+ * just pass the context through.
*/
- *RegionContext = Context;
+ if (Function == ACPI_REGION_DEACTIVATE)
+ *RegionContext = NULL;
+ else
+ *RegionContext = Context;
return_ACPI_STATUS (AE_OK);
}
OpenPOWER on IntegriCloud