diff options
Diffstat (limited to 'lib/kernel_lock.c')
| -rw-r--r-- | lib/kernel_lock.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/lib/kernel_lock.c b/lib/kernel_lock.c index e713e86811ae..e0fdfddb406e 100644 --- a/lib/kernel_lock.c +++ b/lib/kernel_lock.c @@ -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();  }  /* | 
