Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc9b3f5c authored by Paul Mundt's avatar Paul Mundt
Browse files

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent 94c8b6db
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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. */