From: Jarek Poplawski In __lock_acquire check_chain_key can turn off debug_locks, so check is needed to assure proper return code. Signed-off-by: Jarek Poplawski Cc: Ingo Molnar Signed-off-by: Andrew Morton --- kernel/lockdep.c | 4 ++++ 1 file changed, 4 insertions(+) diff -puN kernel/lockdep.c~lockdep-debug_locks-check-after-check_chain_key kernel/lockdep.c --- a/kernel/lockdep.c~lockdep-debug_locks-check-after-check_chain_key +++ a/kernel/lockdep.c @@ -2227,6 +2227,10 @@ out_calc_hash: curr->lockdep_depth++; check_chain_key(curr); +#ifdef CONFIG_DEBUG_LOCKDEP + if (unlikely(!debug_locks)) + return 0; +#endif if (unlikely(curr->lockdep_depth >= MAX_LOCK_DEPTH)) { debug_locks_off(); printk("BUG: MAX_LOCK_DEPTH too low!\n"); _