diff --git a/[refs] b/[refs] index 827a4b0d9699..03df971f7171 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 013d3868143387be99bb0373d49452eaa3c55d41 +refs/heads/master: 77e4bfbcf071f795b54862455dce8902b3fc29c2 diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index dc599c85a88d..a96a05d23262 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -2879,13 +2879,11 @@ asmlinkage void __sched schedule(void) * schedule() atomically, we ignore that path for now. * Otherwise, whine if we are scheduling when we should not be. */ - if (likely(!current->exit_state)) { - if (unlikely(in_atomic())) { - printk(KERN_ERR "BUG: scheduling while atomic: " - "%s/0x%08x/%d\n", - current->comm, preempt_count(), current->pid); - dump_stack(); - } + if (unlikely(in_atomic() && !current->exit_state)) { + printk(KERN_ERR "BUG: scheduling while atomic: " + "%s/0x%08x/%d\n", + current->comm, preempt_count(), current->pid); + dump_stack(); } profile_hit(SCHED_PROFILING, __builtin_return_address(0));