X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=lib%2Fbust_spinlocks.c;h=9681d54b95d127878405d5ff0afec6fcc575fbae;hb=4ae717da8d18839487485f6ae608b8542790fdd3;hp=6bb7319e09a006588e697bda90a063703868b04c;hpb=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2;p=safe%2Fjmp%2Flinux-2.6 diff --git a/lib/bust_spinlocks.c b/lib/bust_spinlocks.c index 6bb7319..9681d54 100644 --- a/lib/bust_spinlocks.c +++ b/lib/bust_spinlocks.c @@ -7,32 +7,25 @@ * and panic() information from reaching the user. */ -#include #include #include #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(); } }