Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[linux-2.6-block.git] / lib / bust_spinlocks.c
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
1da177e4
LT
2/*
3 * lib/bust_spinlocks.c
4 *
5 * Provides a minimal bust_spinlocks for architectures which don't have one of their own.
6 *
7 * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
8 * and panic() information from reaching the user.
9 */
10
1da177e4 11#include <linux/kernel.h>
dc72c32e 12#include <linux/printk.h>
1da177e4
LT
13#include <linux/spinlock.h>
14#include <linux/tty.h>
15#include <linux/wait.h>
16#include <linux/vt_kern.h>
b61312d3 17#include <linux/console.h>
1da177e4
LT
18
19
cefc8be8 20void __attribute__((weak)) bust_spinlocks(int yes)
1da177e4
LT
21{
22 if (yes) {
00442995 23 ++oops_in_progress;
1da177e4 24 } else {
1da177e4
LT
25#ifdef CONFIG_VT
26 unblank_screen();
27#endif
b61312d3 28 console_unblank();
00442995
JB
29 if (--oops_in_progress == 0)
30 wake_up_klogd();
1da177e4
LT
31 }
32}