diff options
author | Bob Moore <robert.moore@intel.com> | 2007-02-02 19:48:21 +0300 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-02-02 21:14:26 -0500 |
commit | 867c9aec576e0c0d89dfa3922019320619002129 (patch) | |
tree | d6b72c3e0b51ac00704448909665a19ff743ab14 /drivers/acpi/dispatcher/dswexec.c | |
parent | f70a5e7b6c28e0b08f721204f4b98c5d1cfb44d9 (diff) |
ACPICA: Update interpreter error paths to always report the error
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/dispatcher/dswexec.c')
-rw-r--r-- | drivers/acpi/dispatcher/dswexec.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/acpi/dispatcher/dswexec.c b/drivers/acpi/dispatcher/dswexec.c index d7a616c3104..b5b8f16e5d7 100644 --- a/drivers/acpi/dispatcher/dswexec.c +++ b/drivers/acpi/dispatcher/dswexec.c @@ -219,7 +219,7 @@ acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, if (!op) { status = acpi_ds_load2_begin_op(walk_state, out_op); if (ACPI_FAILURE(status)) { - return_ACPI_STATUS(status); + goto error_exit; } op = *out_op; @@ -238,7 +238,7 @@ acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, status = acpi_ds_scope_stack_pop(walk_state); if (ACPI_FAILURE(status)) { - return_ACPI_STATUS(status); + goto error_exit; } } } @@ -287,7 +287,7 @@ acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, status = acpi_ds_result_stack_push(walk_state); if (ACPI_FAILURE(status)) { - return_ACPI_STATUS(status); + goto error_exit; } status = acpi_ds_exec_begin_control_op(walk_state, op); @@ -328,6 +328,10 @@ acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, /* Nothing to do here during method execution */ return_ACPI_STATUS(status); + + error_exit: + status = acpi_ds_method_error(status, walk_state); + return_ACPI_STATUS(status); } /***************************************************************************** |