summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/executer
diff options
context:
space:
mode:
authorAlexey Starikovskiy <alexey.y.starikovskiy@intel.com>2007-02-02 19:48:22 +0300
committerLen Brown <len.brown@intel.com>2007-02-02 21:14:29 -0500
commit428f211297bc95fd41f23830eab4180339020dd0 (patch)
tree81537f25f9add9e727e9d764fdcb333a1af07528 /drivers/acpi/executer
parent77f6a9fca39f4f19d2d9d5fff1ff5c2ccf20629c (diff)
downloadlinux-428f211297bc95fd41f23830eab4180339020dd0.tar.gz
linux-428f211297bc95fd41f23830eab4180339020dd0.tar.bz2
linux-428f211297bc95fd41f23830eab4180339020dd0.zip
ACPICA: Miscellaneous table manager updates and optimizations
Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/executer')
-rw-r--r--drivers/acpi/executer/exconfig.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/acpi/executer/exconfig.c b/drivers/acpi/executer/exconfig.c
index 20a5ab87e88f..7aa18f93f95d 100644
--- a/drivers/acpi/executer/exconfig.c
+++ b/drivers/acpi/executer/exconfig.c
@@ -279,13 +279,14 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
acpi_native_uint table_index;
acpi_physical_address address;
struct acpi_table_header table_header;
+ struct acpi_table_desc table_desc;
acpi_integer temp;
u32 i;
ACPI_FUNCTION_TRACE(ex_load_op);
/* Object can be either an op_region or a Field */
-
+ ACPI_MEMSET(&table_desc, 0, sizeof(struct acpi_table_desc));
switch (ACPI_GET_OBJECT_TYPE(obj_desc)) {
case ACPI_TYPE_REGION:
@@ -408,10 +409,13 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
goto cleanup;
}
+ table_desc.pointer = table_ptr;
+ table_desc.length = table_ptr->length;
+ table_desc.flags = ACPI_TABLE_ORIGIN_ALLOCATED;
/*
* Install the new table into the local data structures
*/
- status = acpi_tb_add_table(table_ptr, &table_index);
+ status = acpi_tb_add_table(&table_desc, &table_index);
if (ACPI_FAILURE(status)) {
goto cleanup;
}