X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fbust_spinlocks.c;h=486da62b2b070368f30d53b8feb2de33f0a5167a;hb=6bcdbd55b4c603d9741398d081133fcc50a10b6c;hp=a2055bc3ef623d1b2f4659bdbd7dfe729ae47aa6;hpb=05668381140309088443bf5dc53add4104610fbb;p=deliverable%2Flinux.git diff --git a/lib/bust_spinlocks.c b/lib/bust_spinlocks.c index a2055bc3ef62..486da62b2b07 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(); } }