Blame view
lib/bust_spinlocks.c
636 Bytes
1da177e4c
|
1 2 3 4 5 6 7 8 |
/* * lib/bust_spinlocks.c * * Provides a minimal bust_spinlocks for architectures which don't have one of their own. * * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG() * and panic() information from reaching the user. */ |
1da177e4c
|
9 10 11 12 13 |
#include <linux/kernel.h> #include <linux/spinlock.h> #include <linux/tty.h> #include <linux/wait.h> #include <linux/vt_kern.h> |
b61312d35
|
14 |
#include <linux/console.h> |
1da177e4c
|
15 |
|
cefc8be82
|
16 |
void __attribute__((weak)) bust_spinlocks(int yes) |
1da177e4c
|
17 18 |
{ if (yes) { |
004429956
|
19 |
++oops_in_progress; |
1da177e4c
|
20 |
} else { |
1da177e4c
|
21 22 23 |
#ifdef CONFIG_VT unblank_screen(); #endif |
b61312d35
|
24 |
console_unblank(); |
004429956
|
25 26 |
if (--oops_in_progress == 0) wake_up_klogd(); |
1da177e4c
|
27 28 |
} } |