Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/lib/bust_spinlocks.c
26131 views
1
// SPDX-License-Identifier: GPL-2.0
2
/*
3
* lib/bust_spinlocks.c
4
*
5
* Provides a minimal bust_spinlocks for architectures which don't
6
* have one of their own.
7
*
8
* bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
9
* and panic() information from reaching the user.
10
*/
11
12
#include <linux/kernel.h>
13
#include <linux/printk.h>
14
#include <linux/spinlock.h>
15
#include <linux/tty.h>
16
#include <linux/wait.h>
17
#include <linux/vt_kern.h>
18
#include <linux/console.h>
19
20
void bust_spinlocks(int yes)
21
{
22
if (yes) {
23
++oops_in_progress;
24
} else {
25
console_unblank();
26
if (--oops_in_progress == 0)
27
wake_up_klogd();
28
}
29
}
30
31