summaryrefslogtreecommitdiff
path: root/drivers/acpi/dispatcher
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2007-02-02 16:48:21 (GMT)
committerLen Brown <len.brown@intel.com>2007-02-03 02:14:27 (GMT)
commitd1fdda83f7c567f376ddd4305833de09f7919ca9 (patch)
tree059dccd5c38ad96a8f31bf8b45409460a02bd41f /drivers/acpi/dispatcher
parent9bc75cff4919f9d947982d805aed89582a20d04d (diff)
downloadlinux-fsl-qoriq-d1fdda83f7c567f376ddd4305833de09f7919ca9.tar.xz
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 'drivers/acpi/dispatcher')
-rw-r--r--drivers/acpi/dispatcher/dswload.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/dispatcher/dswload.c b/drivers/acpi/dispatcher/dswload.c
index 565d455..4ed0868 100644
--- a/drivers/acpi/dispatcher/dswload.c
+++ b/drivers/acpi/dispatcher/dswload.c
@@ -756,9 +756,9 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
flags = ACPI_NS_NO_UPSEARCH;
if (walk_state->pass_number == 3) {
- /* Execution mode, node cannot already exist */
+ /* Execution mode, node cannot already exist, node is temporary */
- flags |= ACPI_NS_ERROR_IF_FOUND;
+ flags |= (ACPI_NS_ERROR_IF_FOUND | ACPI_NS_TEMPORARY);
}
/* Add new entry or lookup existing entry */