diff options
author | Fabian Frederick <fabf@skynet.be> | 2015-02-23 18:38:24 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-23 17:21:11 -0500 |
commit | a948f8ce771a1f07c17ed8bcb51f59f69129a51c (patch) | |
tree | ebb5f5c97f00edc2fec15b4518e6f29ccdcbe3f7 /net/irda/ircomm/ircomm_tty.c | |
parent | 30ff54765976e132674e3eae2071ed8ed494665c (diff) | |
download | linux-a948f8ce771a1f07c17ed8bcb51f59f69129a51c.tar.gz linux-a948f8ce771a1f07c17ed8bcb51f59f69129a51c.tar.bz2 linux-a948f8ce771a1f07c17ed8bcb51f59f69129a51c.zip |
irda: replace current->state by set_current_state()
Use helper functions to access current->state.
Direct assignments are prone to races and therefore buggy.
current->state = TASK_RUNNING can be replaced by __set_current_state()
Thanks to Peter Zijlstra for the exact definition of the problem.
Suggested-By: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/irda/ircomm/ircomm_tty.c')
-rw-r--r-- | net/irda/ircomm/ircomm_tty.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index 40695b9751c1..9940a41efca1 100644 --- a/net/irda/ircomm/ircomm_tty.c +++ b/net/irda/ircomm/ircomm_tty.c @@ -811,7 +811,7 @@ static void ircomm_tty_wait_until_sent(struct tty_struct *tty, int timeout) break; } spin_unlock_irqrestore(&self->spinlock, flags); - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); } /* |