From: Geert Uytterhoeven Date: Fri, 6 Jul 2018 09:08:36 +0000 (+0200) Subject: serial: sh-sci: Stop RX FIFO timer during port shutdown X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c5a9262fa8bfed0dddc7466ef10fcd292e2af61b;p=linux.git serial: sh-sci: Stop RX FIFO timer during port shutdown The RX FIFO timer may be armed when the port is shut down, hence the timer function may still be called afterwards. Fix this race condition by deleting the timer during port shutdown. Fixes: 039403765e5da3c6 ("serial: sh-sci: SCIFA/B RX FIFO software timeout") Signed-off-by: Geert Uytterhoeven Reviewed-by: Simon Horman Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index c181eb37f9850..3c55600a8236f 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -2099,6 +2099,8 @@ static void sci_shutdown(struct uart_port *port) } #endif + if (s->rx_trigger > 1 && s->rx_fifo_timeout > 0) + del_timer_sync(&s->rx_fifo_timer); sci_free_irq(s); sci_free_dma(port); }