X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fbust_spinlocks.c;h=486da62b2b070368f30d53b8feb2de33f0a5167a;hb=28a4acb48586dc21d2d14a75a7aab7be78b7c83b;hp=a2055bc3ef623d1b2f4659bdbd7dfe729ae47aa6;hpb=db1a19b38f3a85f475b4ad716c71be133d8ca48e;p=linux-2.6 diff --git a/lib/bust_spinlocks.c b/lib/bust_spinlocks.c index a2055bc3ef..486da62b2b 100644 --- a/lib/bust_spinlocks.c +++ b/lib/bust_spinlocks.c @@ -14,24 +14,16 @@ #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; + if (--oops_in_progress == 0) + wake_up_klogd(); } }