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/irnet | |
parent | 30ff54765976e132674e3eae2071ed8ed494665c (diff) |
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/irnet')
-rw-r--r-- | net/irda/irnet/irnet_ppp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/irda/irnet/irnet_ppp.c b/net/irda/irnet/irnet_ppp.c index 3c83a1e5ab03..1215693fdd22 100644 --- a/net/irda/irnet/irnet_ppp.c +++ b/net/irda/irnet/irnet_ppp.c @@ -305,7 +305,7 @@ irnet_ctrl_read(irnet_socket * ap, /* Put ourselves on the wait queue to be woken up */ add_wait_queue(&irnet_events.rwait, &wait); - current->state = TASK_INTERRUPTIBLE; + set_current_state(TASK_INTERRUPTIBLE); for(;;) { /* If there is unread events */ @@ -321,7 +321,7 @@ irnet_ctrl_read(irnet_socket * ap, /* Yield and wait to be woken up */ schedule(); } - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); remove_wait_queue(&irnet_events.rwait, &wait); /* Did we got it ? */ |