diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2007-03-22 17:24:05 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2007-03-22 17:24:05 +0000 |
commit | 1a39cfb03c6797452971010e59462692d346a22b (patch) | |
tree | 69d0fa3b3760b0abcc0335ff748e39701a8bf064 /sys/contrib/dev/acpica/evxfregn.c | |
parent | e9bfb92a8e683016c7f6c24104fce9db9567ee1c (diff) | |
download | src-1a39cfb03c6797452971010e59462692d346a22b.tar.gz src-1a39cfb03c6797452971010e59462692d346a22b.zip |
Vendor import of Intel ACPI-CA 20070320
Notes
Notes:
svn path=/vendor-sys/acpica/dist/; revision=167802
Diffstat (limited to 'sys/contrib/dev/acpica/evxfregn.c')
-rw-r--r-- | sys/contrib/dev/acpica/evxfregn.c | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/sys/contrib/dev/acpica/evxfregn.c b/sys/contrib/dev/acpica/evxfregn.c index a4f3c745cfcd..7058683fae10 100644 --- a/sys/contrib/dev/acpica/evxfregn.c +++ b/sys/contrib/dev/acpica/evxfregn.c @@ -2,7 +2,7 @@ * * Module Name: evxfregn - External Interfaces, ACPI Operation Regions and * Address Spaces. - * $Revision: 1.64 $ + * $Revision: 1.70 $ * *****************************************************************************/ @@ -10,7 +10,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2007, Intel Corp. * All rights reserved. * * 2. License @@ -42,7 +42,7 @@ * 3. Conditions * * 3.1. Redistribution of Source with Rights to Further Distribute Source. - * Redistribution of source code of any substantial prton of the Covered + * Redistribution of source code of any substantial portion of the Covered * Code or modification with rights to further distribute source must include * the above Copyright Notice, the above License, this list of Conditions, * and the following Disclaimer and Export Compliance provision. In addition, @@ -153,7 +153,7 @@ AcpiInstallAddressSpaceHandler ( ACPI_STATUS Status; - ACPI_FUNCTION_TRACE ("AcpiInstallAddressSpaceHandler"); + ACPI_FUNCTION_TRACE (AcpiInstallAddressSpaceHandler); /* Parameter validation */ @@ -195,6 +195,8 @@ UnlockAndExit: return_ACPI_STATUS (Status); } +ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandler) + /******************************************************************************* * @@ -224,7 +226,7 @@ AcpiRemoveAddressSpaceHandler ( ACPI_STATUS Status; - ACPI_FUNCTION_TRACE ("AcpiRemoveAddressSpaceHandler"); + ACPI_FUNCTION_TRACE (AcpiRemoveAddressSpaceHandler); /* Parameter validation */ @@ -243,7 +245,11 @@ AcpiRemoveAddressSpaceHandler ( /* Convert and validate the device handle */ Node = AcpiNsMapHandleToNode (Device); - if (!Node) + if (!Node || + ((Node->Type != ACPI_TYPE_DEVICE) && + (Node->Type != ACPI_TYPE_PROCESSOR) && + (Node->Type != ACPI_TYPE_THERMAL) && + (Node != AcpiGbl_RootNode))) { Status = AE_BAD_PARAMETER; goto UnlockAndExit; @@ -268,6 +274,14 @@ AcpiRemoveAddressSpaceHandler ( if (HandlerObj->AddressSpace.SpaceId == SpaceId) { + /* Handler must be the same as the installed handler */ + + if (HandlerObj->AddressSpace.Handler != Handler) + { + Status = AE_BAD_PARAMETER; + goto UnlockAndExit; + } + /* Matched SpaceId, first dereference this in the Regions */ ACPI_DEBUG_PRINT ((ACPI_DB_OPREGION, @@ -327,4 +341,5 @@ UnlockAndExit: return_ACPI_STATUS (Status); } +ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler) |