aboutsummaryrefslogtreecommitdiff
path: root/drivers/acpi/dispatcher/dswexec.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2008-10-22 23:19:51 -0400
committerLen Brown <len.brown@intel.com>2008-10-22 23:19:51 -0400
commitbcb631f31839cb7c7dd56ab534b6eb4867e9161b (patch)
treed86336c9cfb22e4af69fbe73c94299a775ecc220 /drivers/acpi/dispatcher/dswexec.c
parent955ba395616a78780e70dc3f3b0b56ca4db52e5c (diff)
parented37a71eac8ba375d85ab10ed5f5e8bdf1cd72e0 (diff)
Merge branch 'acpica' into test
Diffstat (limited to 'drivers/acpi/dispatcher/dswexec.c')
-rw-r--r--drivers/acpi/dispatcher/dswexec.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/acpi/dispatcher/dswexec.c b/drivers/acpi/dispatcher/dswexec.c
index b5072fa9c92..396fe12078c 100644
--- a/drivers/acpi/dispatcher/dswexec.c
+++ b/drivers/acpi/dispatcher/dswexec.c
@@ -166,6 +166,10 @@ acpi_ds_get_predicate_value(struct acpi_walk_state *walk_state,
status = AE_CTRL_FALSE;
}
+ /* Predicate can be used for an implicit return value */
+
+ (void)acpi_ds_do_implicit_return(local_obj_desc, walk_state, TRUE);
+
cleanup:
ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Completed a predicate eval=%X Op=%p\n",
@@ -429,10 +433,10 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
ACPI_TYPE_LOCAL_REFERENCE)
&& (walk_state->operands[1]->common.type ==
ACPI_TYPE_LOCAL_REFERENCE)
- && (walk_state->operands[0]->reference.opcode ==
- walk_state->operands[1]->reference.opcode)
- && (walk_state->operands[0]->reference.offset ==
- walk_state->operands[1]->reference.offset)) {
+ && (walk_state->operands[0]->reference.class ==
+ walk_state->operands[1]->reference.class)
+ && (walk_state->operands[0]->reference.value ==
+ walk_state->operands[1]->reference.value)) {
status = AE_OK;
} else {
ACPI_EXCEPTION((AE_INFO, status,