serial: sh-sci: Remove timer on shutdown of port
This prevents DMA timer timeout that can trigger after the port has been closed. Signed-off-by: Aleksandar Mitev <amitev@visteon.com> [geert: Move del_timer_sync() outside spinlock to avoid circular locking dependency between rx_timer_fn() and del_timer_sync()] Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0e5c4b4d15
commit
9ab7655660
@ -1810,6 +1810,14 @@ static void sci_shutdown(struct uart_port *port)
|
||||
sci_stop_tx(port);
|
||||
spin_unlock_irqrestore(&port->lock, flags);
|
||||
|
||||
#ifdef CONFIG_SERIAL_SH_SCI_DMA
|
||||
if (s->chan_rx) {
|
||||
dev_dbg(port->dev, "%s(%d) deleting rx_timer\n", __func__,
|
||||
port->line);
|
||||
del_timer_sync(&s->rx_timer);
|
||||
}
|
||||
#endif
|
||||
|
||||
sci_free_dma(port);
|
||||
sci_free_irq(s);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user