aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/utilities/utdelete.c42
1 files changed, 3 insertions, 39 deletions
diff --git a/drivers/acpi/utilities/utdelete.c b/drivers/acpi/utilities/utdelete.c
index bc5403022681..be97ada23c3d 100644
--- a/drivers/acpi/utilities/utdelete.c
+++ b/drivers/acpi/utilities/utdelete.c
@@ -439,7 +439,7 @@ acpi_ut_update_object_reference (
439 u32 i; 439 u32 i;
440 union acpi_generic_state *state_list = NULL; 440 union acpi_generic_state *state_list = NULL;
441 union acpi_generic_state *state; 441 union acpi_generic_state *state;
442 union acpi_operand_object *tmp; 442
443 443
444 ACPI_FUNCTION_TRACE_PTR ("ut_update_object_reference", object); 444 ACPI_FUNCTION_TRACE_PTR ("ut_update_object_reference", object);
445 445
@@ -472,16 +472,8 @@ acpi_ut_update_object_reference (
472 switch (ACPI_GET_OBJECT_TYPE (object)) { 472 switch (ACPI_GET_OBJECT_TYPE (object)) {
473 case ACPI_TYPE_DEVICE: 473 case ACPI_TYPE_DEVICE:
474 474
475 tmp = object->device.system_notify; 475 acpi_ut_update_ref_count (object->device.system_notify, action);
476 if (tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT) 476 acpi_ut_update_ref_count (object->device.device_notify, action);
477 object->device.system_notify = NULL;
478 acpi_ut_update_ref_count (tmp, action);
479
480 tmp = object->device.device_notify;
481 if (tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
482 object->device.device_notify = NULL;
483 acpi_ut_update_ref_count (tmp, action);
484
485 break; 477 break;
486 478
487 479
@@ -502,10 +494,6 @@ acpi_ut_update_object_reference (
502 if (ACPI_FAILURE (status)) { 494 if (ACPI_FAILURE (status)) {
503 goto error_exit; 495 goto error_exit;
504 } 496 }
505
506 tmp = object->package.elements[i];
507 if (tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
508 object->package.elements[i] = NULL;
509 } 497 }
510 break; 498 break;
511 499
@@ -517,10 +505,6 @@ acpi_ut_update_object_reference (
517 if (ACPI_FAILURE (status)) { 505 if (ACPI_FAILURE (status)) {
518 goto error_exit; 506 goto error_exit;
519 } 507 }
520
521 tmp = object->buffer_field.buffer_obj;
522 if ( tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
523 object->buffer_field.buffer_obj = NULL;
524 break; 508 break;
525 509
526 510
@@ -531,10 +515,6 @@ acpi_ut_update_object_reference (
531 if (ACPI_FAILURE (status)) { 515 if (ACPI_FAILURE (status)) {
532 goto error_exit; 516 goto error_exit;
533 } 517 }
534
535 tmp = object->field.region_obj;
536 if ( tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
537 object->field.region_obj = NULL;
538 break; 518 break;
539 519
540 520
@@ -546,19 +526,11 @@ acpi_ut_update_object_reference (
546 goto error_exit; 526 goto error_exit;
547 } 527 }
548 528
549 tmp = object->bank_field.bank_obj;
550 if ( tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
551 object->bank_field.bank_obj = NULL;
552
553 status = acpi_ut_create_update_state_and_push ( 529 status = acpi_ut_create_update_state_and_push (
554 object->bank_field.region_obj, action, &state_list); 530 object->bank_field.region_obj, action, &state_list);
555 if (ACPI_FAILURE (status)) { 531 if (ACPI_FAILURE (status)) {
556 goto error_exit; 532 goto error_exit;
557 } 533 }
558
559 tmp = object->bank_field.region_obj;
560 if ( tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
561 object->bank_field.region_obj = NULL;
562 break; 534 break;
563 535
564 536
@@ -570,19 +542,11 @@ acpi_ut_update_object_reference (
570 goto error_exit; 542 goto error_exit;
571 } 543 }
572 544
573 tmp = object->index_field.index_obj;
574 if ( tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
575 object->index_field.index_obj = NULL;
576
577 status = acpi_ut_create_update_state_and_push ( 545 status = acpi_ut_create_update_state_and_push (
578 object->index_field.data_obj, action, &state_list); 546 object->index_field.data_obj, action, &state_list);
579 if (ACPI_FAILURE (status)) { 547 if (ACPI_FAILURE (status)) {
580 goto error_exit; 548 goto error_exit;
581 } 549 }
582
583 tmp = object->index_field.data_obj;
584 if ( tmp && (tmp->common.reference_count <= 1) && action == REF_DECREMENT)
585 object->index_field.data_obj = NULL;
586 break; 550 break;
587 551
588 552