summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/utilities/utcopy.c
diff options
context:
space:
mode:
authorFiodor Suietov <fiodor.f.suietov@intel.com>2007-02-02 17:48:18 +0100
committerLen Brown <len.brown@intel.com>2007-02-03 03:14:21 +0100
commit6b366e2fe1b68bd9af55caf166eaaf0609ba18a9 (patch)
tree5ffd8d775e8a1b399835c4322532fa7da408f0ea /drivers/acpi/utilities/utcopy.c
parentACPICA: Cast acpi_thread_id to UINT32 for debug output only (diff)
downloadlinux-6b366e2fe1b68bd9af55caf166eaaf0609ba18a9.tar.xz
linux-6b366e2fe1b68bd9af55caf166eaaf0609ba18a9.zip
ACPICA: fix for object premature deletion
Fix for object premature deletion after CopyObject on Operation Region (BZ 350) Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/utilities/utcopy.c')
-rw-r--r--drivers/acpi/utilities/utcopy.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/acpi/utilities/utcopy.c b/drivers/acpi/utilities/utcopy.c
index 5e1a80d1bc36..5c38276a3fd6 100644
--- a/drivers/acpi/utilities/utcopy.c
+++ b/drivers/acpi/utilities/utcopy.c
@@ -719,6 +719,15 @@ acpi_ut_copy_simple_object(union acpi_operand_object *source_desc,
acpi_ut_add_reference(source_desc->reference.object);
break;
+ case ACPI_TYPE_REGION:
+ /*
+ * We copied the Region Handler, so we now must add a reference
+ */
+ if (dest_desc->region.handler) {
+ acpi_ut_add_reference(dest_desc->region.handler);
+ }
+ break;
+
default:
/* Nothing to do for other simple objects */
break;