Commit 97f9f707 authored by Fabian Frederick's avatar Fabian Frederick Committed by Greg Kroah-Hartman

serial: core: replace current->state by __set_current_state()

Use helper functions to access current->state.
Direct assignments are prone to races and therefore buggy.

Thanks to Peter Zijlstra for the exact definition of the problem.
Suggested-By: default avatarPeter Zijlstra <peterz@infradead.org>
Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5dcb34bb
...@@ -1118,8 +1118,7 @@ uart_wait_modem_status(struct uart_state *state, unsigned long arg) ...@@ -1118,8 +1118,7 @@ uart_wait_modem_status(struct uart_state *state, unsigned long arg)
cprev = cnow; cprev = cnow;
} }
__set_current_state(TASK_RUNNING);
current->state = TASK_RUNNING;
remove_wait_queue(&port->delta_msr_wait, &wait); remove_wait_queue(&port->delta_msr_wait, &wait);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment