summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/nsobject.c
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2009-05-21 04:42:09 +0200
committerLen Brown <len.brown@intel.com>2009-05-27 06:35:51 +0200
commitb2f7ddcfcb9c2436896cb339a7ff70245648f033 (patch)
treeefd130b46b0dff8855e11d63612532dc60d635dc /drivers/acpi/acpica/nsobject.c
parentACPICA: Invalidate DdbHandle after table unload (diff)
downloadlinux-b2f7ddcfcb9c2436896cb339a7ff70245648f033.tar.xz
linux-b2f7ddcfcb9c2436896cb339a7ff70245648f033.zip
ACPICA: New: AcpiInstallMethod - install a single control method
This interface enables the override or creation of a single control method. Useful to repair a bug or install a missing method. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/nsobject.c')
-rw-r--r--drivers/acpi/acpica/nsobject.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/nsobject.c b/drivers/acpi/acpica/nsobject.c
index 3eb20bfda9d8..60f3af08d28c 100644
--- a/drivers/acpi/acpica/nsobject.c
+++ b/drivers/acpi/acpica/nsobject.c
@@ -213,6 +213,15 @@ void acpi_ns_detach_object(struct acpi_namespace_node *node)
return_VOID;
}
+ if (node->flags & ANOBJ_ALLOCATED_BUFFER) {
+
+ /* Free the dynamic aml buffer */
+
+ if (obj_desc->common.type == ACPI_TYPE_METHOD) {
+ ACPI_FREE(obj_desc->method.aml_start);
+ }
+ }
+
/* Clear the entry in all cases */
node->object = NULL;