diff options
author | Len Brown <len.brown@intel.com> | 2006-07-08 02:11:07 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-07-09 21:19:44 +0200 |
commit | ab8aa06a5c0b75974fb1949365cbb20a15cedf14 (patch) | |
tree | 8498b3b3222198c45fa322b6fdd3215687dc30e4 /include | |
parent | Linux 2.6.18-rc1 (diff) | |
download | linux-ab8aa06a5c0b75974fb1949365cbb20a15cedf14.tar.xz linux-ab8aa06a5c0b75974fb1949365cbb20a15cedf14.zip |
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')
-rw-r--r-- | include/acpi/aclocal.h | 2 | ||||
-rw-r--r-- | include/acpi/platform/aclinux.h | 5 |
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; /* This Thread ID means that the mutex is not in use (unlocked) */ -#define ACPI_MUTEX_NOT_ACQUIRED (u32) -1 +#define ACPI_MUTEX_NOT_ACQUIRED (acpi_thread_id) 0 /* Table for the global mutexes */ 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 @@ #include <asm/acpi.h> #include <linux/slab.h> #include <linux/spinlock_types.h> +#include <asm/current.h> /* Host-dependent types and defines */ @@ -100,8 +101,8 @@ #define acpi_cpu_flags unsigned long -#define acpi_thread_id u32 +#define acpi_thread_id struct task_struct * -static inline acpi_thread_id acpi_os_get_thread_id(void) { return 0; } +static inline acpi_thread_id acpi_os_get_thread_id(void) { return current; } #endif /* __ACLINUX_H__ */ |