diff options
author | Kirill Korotaev <dev@sw.ru> | 2007-02-10 04:46:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-11 13:51:34 -0500 |
commit | cefc8be82403cfc4325e7b9b063f77dc0f34e19e (patch) | |
tree | d360f54c14860550b37f86b44757ecef749db1c0 /arch/ia64/kernel/traps.c | |
parent | c530cba649692512070e8c0131ba3eccade09269 (diff) |
[PATCH] Consolidate bust_spinlocks()
Part of long forgotten patch
http://groups.google.com/group/fa.linux.kernel/msg/e98e941ce1cf29f6?dmode=source
Since then, m32r grabbed two copies.
Leave s390 copy because of important absence of CONFIG_VT, but remove
references to non-existent timerlist_lock. ia64 also loses timerlist_lock.
Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/ia64/kernel/traps.c')
-rw-r--r-- | arch/ia64/kernel/traps.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index ab684747036f..765cbe5ba6ae 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c | |||
@@ -24,8 +24,6 @@ | |||
24 | #include <asm/uaccess.h> | 24 | #include <asm/uaccess.h> |
25 | #include <asm/kdebug.h> | 25 | #include <asm/kdebug.h> |
26 | 26 | ||
27 | extern spinlock_t timerlist_lock; | ||
28 | |||
29 | fpswa_interface_t *fpswa_interface; | 27 | fpswa_interface_t *fpswa_interface; |
30 | EXPORT_SYMBOL(fpswa_interface); | 28 | EXPORT_SYMBOL(fpswa_interface); |
31 | 29 | ||
@@ -53,34 +51,6 @@ trap_init (void) | |||
53 | fpswa_interface = __va(ia64_boot_param->fpswa); | 51 | fpswa_interface = __va(ia64_boot_param->fpswa); |
54 | } | 52 | } |
55 | 53 | ||
56 | /* | ||
57 | * Unlock any spinlocks which will prevent us from getting the message out (timerlist_lock | ||
58 | * is acquired through the console unblank code) | ||
59 | */ | ||
60 | void | ||
61 | bust_spinlocks (int yes) | ||
62 | { | ||
63 | int loglevel_save = console_loglevel; | ||
64 | |||
65 | if (yes) { | ||
66 | oops_in_progress = 1; | ||
67 | return; | ||
68 | } | ||
69 | |||
70 | #ifdef CONFIG_VT | ||
71 | unblank_screen(); | ||
72 | #endif | ||
73 | oops_in_progress = 0; | ||
74 | /* | ||
75 | * OK, the message is on the console. Now we call printk() without | ||
76 | * oops_in_progress set so that printk will give klogd a poke. Hold onto | ||
77 | * your hats... | ||
78 | */ | ||
79 | console_loglevel = 15; /* NMI oopser may have shut the console up */ | ||
80 | printk(" "); | ||
81 | console_loglevel = loglevel_save; | ||
82 | } | ||
83 | |||
84 | void | 54 | void |
85 | die (const char *str, struct pt_regs *regs, long err) | 55 | die (const char *str, struct pt_regs *regs, long err) |
86 | { | 56 | { |