X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=lib%2Fkernel_lock.c;h=f73e2f8c308f2e3b17e0cd21b5f0ab7131872f08;hb=cc1bf182bb8451a036a7c227f0a95a0416c4736e;hp=e713e86811aeb1ff1efdb5d68fabea7a63042c3c;hpb=da206c9e68cb93fcab43592d46276c02889c1250;p=linux-2.6 diff --git a/lib/kernel_lock.c b/lib/kernel_lock.c index e713e86811..f73e2f8c30 100644 --- 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 - * relegated to obsolescense, but used by various less + * relegated to obsolescence, but used by various less * important (or lazy) subsystems. */ #include @@ -177,7 +177,12 @@ static inline void __lock_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(); } /*