aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/executer
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/executer')
-rw-r--r--drivers/acpi/executer/exconfig.c2
-rw-r--r--drivers/acpi/executer/exdump.c2
-rw-r--r--drivers/acpi/executer/exoparg1.c15
-rw-r--r--drivers/acpi/executer/exresop.c16
4 files changed, 21 insertions, 14 deletions
diff --git a/drivers/acpi/executer/exconfig.c b/drivers/acpi/executer/exconfig.c
index 8bfa6effaa0c..76c6ebd0231f 100644
--- a/drivers/acpi/executer/exconfig.c
+++ b/drivers/acpi/executer/exconfig.c
@@ -487,7 +487,7 @@ acpi_ex_unload_table (
487 * Delete the entire namespace under this table Node 487 * Delete the entire namespace under this table Node
488 * (Offset contains the table_id) 488 * (Offset contains the table_id)
489 */ 489 */
490 acpi_ns_delete_namespace_by_owner (table_info->table_id); 490 acpi_ns_delete_namespace_by_owner (table_info->owner_id);
491 491
492 /* Delete the table itself */ 492 /* Delete the table itself */
493 493
diff --git a/drivers/acpi/executer/exdump.c b/drivers/acpi/executer/exdump.c
index 7007abb6051e..6158f5193f4a 100644
--- a/drivers/acpi/executer/exdump.c
+++ b/drivers/acpi/executer/exdump.c
@@ -819,7 +819,7 @@ acpi_ex_dump_object_descriptor (
819 acpi_ex_out_integer ("param_count", obj_desc->method.param_count); 819 acpi_ex_out_integer ("param_count", obj_desc->method.param_count);
820 acpi_ex_out_integer ("Concurrency", obj_desc->method.concurrency); 820 acpi_ex_out_integer ("Concurrency", obj_desc->method.concurrency);
821 acpi_ex_out_pointer ("Semaphore", obj_desc->method.semaphore); 821 acpi_ex_out_pointer ("Semaphore", obj_desc->method.semaphore);
822 acpi_ex_out_integer ("owning_id", obj_desc->method.owning_id); 822 acpi_ex_out_integer ("owner_id", obj_desc->method.owner_id);
823 acpi_ex_out_integer ("aml_length", obj_desc->method.aml_length); 823 acpi_ex_out_integer ("aml_length", obj_desc->method.aml_length);
824 acpi_ex_out_pointer ("aml_start", obj_desc->method.aml_start); 824 acpi_ex_out_pointer ("aml_start", obj_desc->method.aml_start);
825 break; 825 break;
diff --git a/drivers/acpi/executer/exoparg1.c b/drivers/acpi/executer/exoparg1.c
index 131f49acb1df..c1ba8b48228e 100644
--- a/drivers/acpi/executer/exoparg1.c
+++ b/drivers/acpi/executer/exoparg1.c
@@ -904,6 +904,7 @@ acpi_ex_opcode_1A_0T_1R (
904 */ 904 */
905 return_desc = acpi_ns_get_attached_object ( 905 return_desc = acpi_ns_get_attached_object (
906 (struct acpi_namespace_node *) operand[0]); 906 (struct acpi_namespace_node *) operand[0]);
907 acpi_ut_add_reference (return_desc);
907 } 908 }
908 else { 909 else {
909 /* 910 /*
@@ -953,20 +954,10 @@ acpi_ex_opcode_1A_0T_1R (
953 * add another reference to the referenced object, however. 954 * add another reference to the referenced object, however.
954 */ 955 */
955 return_desc = *(operand[0]->reference.where); 956 return_desc = *(operand[0]->reference.where);
956 if (!return_desc) { 957 if (return_desc) {
957 /* 958 acpi_ut_add_reference (return_desc);
958 * We can't return a NULL dereferenced value. This is
959 * an uninitialized package element and is thus a
960 * severe error.
961 */
962 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
963 "NULL package element obj %p\n",
964 operand[0]));
965 status = AE_AML_UNINITIALIZED_ELEMENT;
966 goto cleanup;
967 } 959 }
968 960
969 acpi_ut_add_reference (return_desc);
970 break; 961 break;
971 962
972 963
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: