devtmpfsd: fix task state handling
- Set the state to TASK_INTERRUPTIBLE using __set_current_state() instead of set_current_state() as the spin_unlock is an implicit memory barrier. - After return from schedule(), there is no need to set the current state to TASK_RUNNING - a call to schedule() always returns in TASK_RUNNING state. Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
72f8c0bfa0
Коммит
65e6757be4
|
@ -413,10 +413,9 @@ static int devtmpfsd(void *p)
|
|||
}
|
||||
spin_lock(&req_lock);
|
||||
}
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
__set_current_state(TASK_INTERRUPTIBLE);
|
||||
spin_unlock(&req_lock);
|
||||
schedule();
|
||||
__set_current_state(TASK_RUNNING);
|
||||
}
|
||||
return 0;
|
||||
out:
|
||||
|
|
Загрузка…
Ссылка в новой задаче