diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-06-26 00:24:31 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 09:58:16 -0700 |
commit | 1fb00c6cbd8356f43b46322742f3c01c2a1f02da (patch) | |
tree | d337fb8dca27a719221d9012292e72c55e7267d1 /kernel/mutex.h | |
parent | 20c5426f8155a89b6df06325f9b278f5052b8c7e (diff) | |
download | linux-1fb00c6cbd8356f43b46322742f3c01c2a1f02da.tar.gz linux-1fb00c6cbd8356f43b46322742f3c01c2a1f02da.tar.bz2 linux-1fb00c6cbd8356f43b46322742f3c01c2a1f02da.zip |
[PATCH] work around ppc64 bootup bug by making mutex-debugging save/restore irqs
It seems ppc64 wants to lock mutexes in early bootup code, with interrupts
disabled, and they expect interrupts to stay disabled, else they crash.
Work around this bug by making mutex debugging variants save/restore irq
flags.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/mutex.h')
-rw-r--r-- | kernel/mutex.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/mutex.h b/kernel/mutex.h index 00fe84e7b672..069189947257 100644 --- a/kernel/mutex.h +++ b/kernel/mutex.h @@ -9,8 +9,10 @@ * !CONFIG_DEBUG_MUTEXES case. Most of them are NOPs: */ -#define spin_lock_mutex(lock) spin_lock(lock) -#define spin_unlock_mutex(lock) spin_unlock(lock) +#define spin_lock_mutex(lock, flags) \ + do { spin_lock(lock); (void)(flags); } while (0) +#define spin_unlock_mutex(lock, flags) \ + do { spin_unlock(lock); (void)(flags); } while (0) #define mutex_remove_waiter(lock, waiter, ti) \ __list_del((waiter)->list.prev, (waiter)->list.next) |