mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 11:46:46 +07:00
serial: sh-sci: Fix up break timer scheduling race.
The break flag timer is presently added through add_timer() via the interrupt and error paths, where it is possible to send multiple breaks in rapid succession and trigger the timer pending BUG_ON(). This moves over to a mod_timer() instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
94c8b6dbd6
commit
bc9b3f5c9f
@ -554,8 +554,7 @@ static void sci_receive_chars(struct uart_port *port)
|
||||
*/
|
||||
static inline void sci_schedule_break_timer(struct sci_port *port)
|
||||
{
|
||||
port->break_timer.expires = jiffies + SCI_BREAK_JIFFIES;
|
||||
add_timer(&port->break_timer);
|
||||
mod_timer(&port->break_timer, jiffies + SCI_BREAK_JIFFIES);
|
||||
}
|
||||
|
||||
/* Ensure that two consecutive samples find the break over. */
|
||||
|
Loading…
Reference in New Issue
Block a user