git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libata-core: auditting chk_status v check_status
[safe/jmp/linux-2.6]
/
lib
/
kernel_lock.c
diff --git
a/lib/kernel_lock.c
b/lib/kernel_lock.c
index
e713e86
..
f73e2f8
100644
(file)
--- a/
lib/kernel_lock.c
+++ b/
lib/kernel_lock.c
@@
-2,7
+2,7
@@
* lib/kernel_lock.c
*
* This is the traditional BKL - big kernel lock. Largely
* lib/kernel_lock.c
*
* This is the traditional BKL - big kernel lock. Largely
- * relegated to obsolescen
s
e, but used by various less
+ * relegated to obsolescen
c
e, but used by various less
* important (or lazy) subsystems.
*/
#include <linux/smp_lock.h>
* important (or lazy) subsystems.
*/
#include <linux/smp_lock.h>
@@
-177,7
+177,12
@@
static inline void __lock_kernel(void)
static inline void __unlock_kernel(void)
{
static inline void __unlock_kernel(void)
{
- spin_unlock(&kernel_flag);
+ /*
+ * the BKL is not covered by lockdep, so we open-code the
+ * unlocking sequence (and thus avoid the dep-chain ops):
+ */
+ _raw_spin_unlock(&kernel_flag);
+ preempt_enable();
}
/*
}
/*