mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
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>
This commit is contained in:
parent
30ff547659
commit
a948f8ce77
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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 ? */
|
||||
|
Loading…
Reference in New Issue
Block a user