Magellan Linux

Annotation of /alx-src/tags/kernel26-2.6.12-alx-r9/lib/bust_spinlocks.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 630 - (hide annotations) (download)
Wed Mar 4 11:03:09 2009 UTC (15 years, 3 months ago) by niro
File MIME type: text/plain
File size: 931 byte(s)
Tag kernel26-2.6.12-alx-r9
1 niro 628 /*
2     * lib/bust_spinlocks.c
3     *
4     * Provides a minimal bust_spinlocks for architectures which don't have one of their own.
5     *
6     * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
7     * and panic() information from reaching the user.
8     */
9    
10     #include <linux/config.h>
11     #include <linux/kernel.h>
12     #include <linux/spinlock.h>
13     #include <linux/tty.h>
14     #include <linux/wait.h>
15     #include <linux/vt_kern.h>
16    
17    
18     void bust_spinlocks(int yes)
19     {
20     if (yes) {
21     oops_in_progress = 1;
22     } else {
23     int loglevel_save = console_loglevel;
24     #ifdef CONFIG_VT
25     unblank_screen();
26     #endif
27     oops_in_progress = 0;
28     /*
29     * OK, the message is on the console. Now we call printk()
30     * without oops_in_progress set so that printk() will give klogd
31     * and the blanked console a poke. Hold onto your hats...
32     */
33     console_loglevel = 15; /* NMI oopser may have shut the console up */
34     printk(" ");
35     console_loglevel = loglevel_save;
36     }
37     }
38    
39