aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/parser/psxface.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/parser/psxface.c')
-rw-r--r--drivers/acpi/parser/psxface.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/acpi/parser/psxface.c b/drivers/acpi/parser/psxface.c
index 4985ce58c024..41b0c8c052a8 100644
--- a/drivers/acpi/parser/psxface.c
+++ b/drivers/acpi/parser/psxface.c
@@ -295,6 +295,22 @@ acpi_status acpi_ps_execute_method(struct acpi_evaluate_info *info)
295 goto cleanup; 295 goto cleanup;
296 } 296 }
297 297
298 /*
299 * Start method evaluation with an implicit return of zero.
300 * This is done for Windows compatibility.
301 */
302 if (acpi_gbl_enable_interpreter_slack) {
303 walk_state->implicit_return_obj =
304 acpi_ut_create_internal_object(ACPI_TYPE_INTEGER);
305 if (!walk_state->implicit_return_obj) {
306 status = AE_NO_MEMORY;
307 acpi_ds_delete_walk_state(walk_state);
308 goto cleanup;
309 }
310
311 walk_state->implicit_return_obj->integer.value = 0;
312 }
313
298 /* Parse the AML */ 314 /* Parse the AML */
299 315
300 status = acpi_ps_parse_aml(walk_state); 316 status = acpi_ps_parse_aml(walk_state);