|
@@ -935,8 +935,6 @@ void do_exit(long code)
|
|
schedule();
|
|
schedule();
|
|
}
|
|
}
|
|
|
|
|
|
- exit_irq_thread();
|
|
|
|
-
|
|
|
|
exit_signals(tsk); /* sets PF_EXITING */
|
|
exit_signals(tsk); /* sets PF_EXITING */
|
|
/*
|
|
/*
|
|
* tsk->flags are checked in the futex code to protect against
|
|
* tsk->flags are checked in the futex code to protect against
|
|
@@ -945,6 +943,8 @@ void do_exit(long code)
|
|
smp_mb();
|
|
smp_mb();
|
|
raw_spin_unlock_wait(&tsk->pi_lock);
|
|
raw_spin_unlock_wait(&tsk->pi_lock);
|
|
|
|
|
|
|
|
+ exit_irq_thread();
|
|
|
|
+
|
|
if (unlikely(in_atomic()))
|
|
if (unlikely(in_atomic()))
|
|
printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n",
|
|
printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n",
|
|
current->comm, task_pid_nr(current),
|
|
current->comm, task_pid_nr(current),
|