X-Git-Url: http://ftp.safe.ca/?p=safe%2Fjmp%2Flinux-2.6;a=blobdiff_plain;f=lib%2Fbust_spinlocks.c;h=9681d54b95d127878405d5ff0afec6fcc575fbae;hp=a2055bc3ef623d1b2f4659bdbd7dfe729ae47aa6;hb=b2e75eff5e859d0c294e7405958362b26a423c6e;hpb=6ab3d5624e172c553004ecc862bfeac16d9d68b7 diff --git a/lib/bust_spinlocks.c b/lib/bust_spinlocks.c index a2055bc..9681d54 100644 --- a/lib/bust_spinlocks.c +++ b/lib/bust_spinlocks.c @@ -12,26 +12,20 @@ #include #include #include +#include -void bust_spinlocks(int yes) +void __attribute__((weak)) bust_spinlocks(int yes) { if (yes) { - oops_in_progress = 1; + ++oops_in_progress; } else { - int loglevel_save = console_loglevel; #ifdef CONFIG_VT unblank_screen(); #endif - oops_in_progress = 0; - /* - * OK, the message is on the console. Now we call printk() - * without oops_in_progress set so that printk() will give klogd - * and the blanked console a poke. Hold onto your hats... - */ - console_loglevel = 15; /* NMI oopser may have shut the console up */ - printk(" "); - console_loglevel = loglevel_save; + console_unblank(); + if (--oops_in_progress == 0) + wake_up_klogd(); } }