summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/utilities
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2008-04-10 17:06:42 +0200
committerLen Brown <len.brown@intel.com>2008-04-22 20:29:30 +0200
commitbc7a36ab74e09da7bb63e2477b0740ac992b290e (patch)
treef9384f3f0909e1da6f12fb55643de8de594551dd /drivers/acpi/utilities
parentACPICA: Bulletproof disassembler for bad ACPI tables (diff)
downloadlinux-bc7a36ab74e09da7bb63e2477b0740ac992b290e.tar.xz
linux-bc7a36ab74e09da7bb63e2477b0740ac992b290e.zip
ACPICA: Fixes for Unload and DDBHandles
Implemented support for the use of DDBHandles as an Indexed Reference, as per the ACPI spec. http://www.acpica.org/bugzilla/show_bug.cgi?id=486. Implemented support for UserTerm (Method invocation) for the Unload operator as per the ACPI spec. http://www.acpica.org/bugzilla/show_bug.cgi?id=580 Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/utilities')
-rw-r--r--drivers/acpi/utilities/utcopy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/acpi/utilities/utcopy.c b/drivers/acpi/utilities/utcopy.c
index b56953d2b59e..ba899714733b 100644
--- a/drivers/acpi/utilities/utcopy.c
+++ b/drivers/acpi/utilities/utcopy.c
@@ -709,7 +709,15 @@ acpi_ut_copy_simple_object(union acpi_operand_object *source_desc,
/*
* We copied the reference object, so we now must add a reference
* to the object pointed to by the reference
+ *
+ * DDBHandle reference (from Load/load_table is a special reference,
+ * it's Reference.Object is the table index, so does not need to
+ * increase the reference count
*/
+ if (source_desc->reference.opcode == AML_LOAD_OP) {
+ break;
+ }
+
acpi_ut_add_reference(source_desc->reference.object);
break;