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>
*/
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. */