diff options
Diffstat (limited to 'drivers/acpi/executer/exresop.c')
-rw-r--r-- | drivers/acpi/executer/exresop.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/acpi/executer/exresop.c b/drivers/acpi/executer/exresop.c index d8b470eefe7a..aaba7abcb52d 100644 --- a/drivers/acpi/executer/exresop.c +++ b/drivers/acpi/executer/exresop.c | |||
@@ -426,6 +426,10 @@ acpi_ex_resolve_operands ( | |||
426 | 426 | ||
427 | return_ACPI_STATUS (status); | 427 | return_ACPI_STATUS (status); |
428 | } | 428 | } |
429 | |||
430 | if (obj_desc != *stack_ptr) { | ||
431 | acpi_ut_remove_reference (obj_desc); | ||
432 | } | ||
429 | goto next_operand; | 433 | goto next_operand; |
430 | 434 | ||
431 | 435 | ||
@@ -448,6 +452,10 @@ acpi_ex_resolve_operands ( | |||
448 | 452 | ||
449 | return_ACPI_STATUS (status); | 453 | return_ACPI_STATUS (status); |
450 | } | 454 | } |
455 | |||
456 | if (obj_desc != *stack_ptr) { | ||
457 | acpi_ut_remove_reference (obj_desc); | ||
458 | } | ||
451 | goto next_operand; | 459 | goto next_operand; |
452 | 460 | ||
453 | 461 | ||
@@ -471,6 +479,10 @@ acpi_ex_resolve_operands ( | |||
471 | 479 | ||
472 | return_ACPI_STATUS (status); | 480 | return_ACPI_STATUS (status); |
473 | } | 481 | } |
482 | |||
483 | if (obj_desc != *stack_ptr) { | ||
484 | acpi_ut_remove_reference (obj_desc); | ||
485 | } | ||
474 | goto next_operand; | 486 | goto next_operand; |
475 | 487 | ||
476 | 488 | ||
@@ -515,6 +527,10 @@ acpi_ex_resolve_operands ( | |||
515 | if (ACPI_FAILURE (status)) { | 527 | if (ACPI_FAILURE (status)) { |
516 | return_ACPI_STATUS (status); | 528 | return_ACPI_STATUS (status); |
517 | } | 529 | } |
530 | |||
531 | if (obj_desc != *stack_ptr) { | ||
532 | acpi_ut_remove_reference (obj_desc); | ||
533 | } | ||
518 | break; | 534 | break; |
519 | 535 | ||
520 | default: | 536 | default: |