summaryrefslogtreecommitdiffstats
path: root/include/acpi/acnamesp.h
diff options
context:
space:
mode:
authorBob Moore2007-02-02 17:48:21 +0100
committerLen Brown2007-02-03 03:14:27 +0100
commitd1fdda83f7c567f376ddd4305833de09f7919ca9 (patch)
tree059dccd5c38ad96a8f31bf8b45409460a02bd41f /include/acpi/acnamesp.h
parentACPICA: Eliminate control method 2-pass parse/execute. (diff)
downloadkernel-qcow2-linux-d1fdda83f7c567f376ddd4305833de09f7919ca9.tar.gz
kernel-qcow2-linux-d1fdda83f7c567f376ddd4305833de09f7919ca9.tar.xz
kernel-qcow2-linux-d1fdda83f7c567f376ddd4305833de09f7919ca9.zip
ACPICA: Fix race condition with AcpiWalkNamespace.
Fixed a problem with a possible race condition between threads executing AcpiWalkNamespace and the AML interpreter. This condition was removed by modifying AcpiWalkNamespace to (by default) ignore all temporary namespace entries created during any concurrent control method execution Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/acnamesp.h')
-rw-r--r--include/acpi/acnamesp.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/acpi/acnamesp.h b/include/acpi/acnamesp.h
index b3b9f0ec79c3..19a61292af60 100644
--- a/include/acpi/acnamesp.h
+++ b/include/acpi/acnamesp.h
@@ -65,9 +65,13 @@
#define ACPI_NS_ERROR_IF_FOUND 0x08
#define ACPI_NS_PREFIX_IS_SCOPE 0x10
#define ACPI_NS_EXTERNAL 0x20
+#define ACPI_NS_TEMPORARY 0x40
-#define ACPI_NS_WALK_UNLOCK TRUE
-#define ACPI_NS_WALK_NO_UNLOCK FALSE
+/* Flags for acpi_ns_walk_namespace */
+
+#define ACPI_NS_WALK_NO_UNLOCK 0
+#define ACPI_NS_WALK_UNLOCK 0x01
+#define ACPI_NS_WALK_TEMP_NODES 0x02
/*
* nsinit - Namespace initialization
@@ -92,7 +96,7 @@ acpi_status
acpi_ns_walk_namespace(acpi_object_type type,
acpi_handle start_object,
u32 max_depth,
- u8 unlock_before_callback,
+ u32 flags,
acpi_walk_callback user_function,
void *context, void **return_value);