|
@@ -3352,8 +3352,8 @@ void __noreturn do_task_dead(void)
|
|
* To avoid it, we have to wait for releasing tsk->pi_lock which
|
|
* To avoid it, we have to wait for releasing tsk->pi_lock which
|
|
* is held by try_to_wake_up()
|
|
* is held by try_to_wake_up()
|
|
*/
|
|
*/
|
|
- smp_mb();
|
|
|
|
- raw_spin_unlock_wait(¤t->pi_lock);
|
|
|
|
|
|
+ raw_spin_lock_irq(¤t->pi_lock);
|
|
|
|
+ raw_spin_unlock_irq(¤t->pi_lock);
|
|
|
|
|
|
/* Causes final put_task_struct in finish_task_switch(): */
|
|
/* Causes final put_task_struct in finish_task_switch(): */
|
|
__set_current_state(TASK_DEAD);
|
|
__set_current_state(TASK_DEAD);
|