ACPICA: Fixes a problem with control method references within packages

Completes the package changes started with version 20071019.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Bob Moore
2008-04-10 19:06:40 +04:00
committed by Len Brown
parent f2d69559b3
commit b160987df7
2 changed files with 3 additions and 2 deletions

View File

@@ -493,7 +493,7 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
op->common.node = op->common.node =
(struct acpi_namespace_node *)op->asl.value. (struct acpi_namespace_node *)op->asl.value.
arg->asl.node->object; arg->asl.node;
acpi_ut_add_reference(op->asl.value.arg->asl. acpi_ut_add_reference(op->asl.value.arg->asl.
node->object); node->object);
return_ACPI_STATUS(AE_OK); return_ACPI_STATUS(AE_OK);

View File

@@ -116,9 +116,11 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr,
* Several object types require no further processing: * Several object types require no further processing:
* 1) Device/Thermal objects don't have a "real" subobject, return the Node * 1) Device/Thermal objects don't have a "real" subobject, return the Node
* 2) Method locals and arguments have a pseudo-Node * 2) Method locals and arguments have a pseudo-Node
* 3) 10/2007: Added method type to assist with Package construction.
*/ */
if ((entry_type == ACPI_TYPE_DEVICE) || if ((entry_type == ACPI_TYPE_DEVICE) ||
(entry_type == ACPI_TYPE_THERMAL) || (entry_type == ACPI_TYPE_THERMAL) ||
(entry_type == ACPI_TYPE_METHOD) ||
(node->flags & (ANOBJ_METHOD_ARG | ANOBJ_METHOD_LOCAL))) { (node->flags & (ANOBJ_METHOD_ARG | ANOBJ_METHOD_LOCAL))) {
return_ACPI_STATUS(AE_OK); return_ACPI_STATUS(AE_OK);
} }
@@ -214,7 +216,6 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr,
/* For these objects, just return the object attached to the Node */ /* For these objects, just return the object attached to the Node */
case ACPI_TYPE_MUTEX: case ACPI_TYPE_MUTEX:
case ACPI_TYPE_METHOD:
case ACPI_TYPE_POWER: case ACPI_TYPE_POWER:
case ACPI_TYPE_PROCESSOR: case ACPI_TYPE_PROCESSOR:
case ACPI_TYPE_EVENT: case ACPI_TYPE_EVENT: