aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2006-07-07 20:11:07 -0400
committerLen Brown <len.brown@intel.com>2006-07-09 15:19:44 -0400
commitab8aa06a5c0b75974fb1949365cbb20a15cedf14 (patch)
tree8498b3b3222198c45fa322b6fdd3215687dc30e4 /include/acpi
parent120bda20c6f64b32e8bfbdd7b34feafaa5f5332e (diff)
ACPI: acpi_os_get_thread_id() returns current
Linux mutexes and the debug code that that reference acpi_os_get_thread_id() are happy with 0. But the AML mutexes in exmutex.c expect a unique non-zero number for each thread - as they track this thread_id to permit the mutex re-entrancy defined by the ACPI spec. http://bugzilla.kernel.org/show_bug.cgi?id=6687 Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/aclocal.h2
-rw-r--r--include/acpi/platform/aclinux.h5
2 files changed, 4 insertions, 3 deletions
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index 56b802486161..fbafee6e56d3 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -127,7 +127,7 @@ typedef u8 acpi_owner_id;
127 127
128/* This Thread ID means that the mutex is not in use (unlocked) */ 128/* This Thread ID means that the mutex is not in use (unlocked) */
129 129
130#define ACPI_MUTEX_NOT_ACQUIRED (u32) -1 130#define ACPI_MUTEX_NOT_ACQUIRED (acpi_thread_id) 0
131 131
132/* Table for the global mutexes */ 132/* Table for the global mutexes */
133 133
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
index 3f853cabbd41..1cb51bf96ece 100644
--- a/include/acpi/platform/aclinux.h
+++ b/include/acpi/platform/aclinux.h
@@ -59,6 +59,7 @@
59#include <asm/acpi.h> 59#include <asm/acpi.h>
60#include <linux/slab.h> 60#include <linux/slab.h>
61#include <linux/spinlock_types.h> 61#include <linux/spinlock_types.h>
62#include <asm/current.h>
62 63
63/* Host-dependent types and defines */ 64/* Host-dependent types and defines */
64 65
@@ -100,8 +101,8 @@
100 101
101#define acpi_cpu_flags unsigned long 102#define acpi_cpu_flags unsigned long
102 103
103#define acpi_thread_id u32 104#define acpi_thread_id struct task_struct *
104 105
105static inline acpi_thread_id acpi_os_get_thread_id(void) { return 0; } 106static inline acpi_thread_id acpi_os_get_thread_id(void) { return current; }
106 107
107#endif /* __ACLINUX_H__ */ 108#endif /* __ACLINUX_H__ */