summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/executer/exconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/executer/exconfig.c')
-rw-r--r--sys/contrib/dev/acpica/executer/exconfig.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/sys/contrib/dev/acpica/executer/exconfig.c b/sys/contrib/dev/acpica/executer/exconfig.c
index a591c4a..95b78ed 100644
--- a/sys/contrib/dev/acpica/executer/exconfig.c
+++ b/sys/contrib/dev/acpica/executer/exconfig.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -196,8 +196,15 @@ AcpiExAddTable (
{
AcpiUtRemoveReference (ObjDesc);
*DdbHandle = NULL;
+ return_ACPI_STATUS (Status);
}
+ /* Execute any module-level code that was found in the table */
+
+ AcpiExExitInterpreter ();
+ AcpiNsExecModuleCodeList ();
+ AcpiExEnterInterpreter ();
+
return_ACPI_STATUS (Status);
}
@@ -256,15 +263,13 @@ AcpiExLoadTableOp (
/* Table not found, return an Integer=0 and AE_OK */
- DdbHandle = AcpiUtCreateInternalObject (ACPI_TYPE_INTEGER);
+ DdbHandle = AcpiUtCreateIntegerObject ((UINT64) 0);
if (!DdbHandle)
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
- DdbHandle->Integer.Value = 0;
*ReturnDesc = DdbHandle;
-
return_ACPI_STATUS (AE_OK);
}
@@ -382,7 +387,7 @@ AcpiExRegionRead (
UINT8 *Buffer)
{
ACPI_STATUS Status;
- ACPI_INTEGER Value;
+ UINT64 Value;
UINT32 RegionOffset = 0;
UINT32 i;
@@ -605,7 +610,10 @@ AcpiExLoadOp (
Status = AcpiTbAddTable (&TableDesc, &TableIndex);
if (ACPI_FAILURE (Status))
{
- goto Cleanup;
+ /* Delete allocated table buffer */
+
+ AcpiTbDeleteTable (&TableDesc);
+ return_ACPI_STATUS (Status);
}
/*
@@ -648,13 +656,6 @@ AcpiExLoadOp (
AcpiGbl_TableHandlerContext);
}
-Cleanup:
- if (ACPI_FAILURE (Status))
- {
- /* Delete allocated table buffer */
-
- AcpiTbDeleteTable (&TableDesc);
- }
return_ACPI_STATUS (Status);
}
OpenPOWER on IntegriCloud