On Wed, Jun 02, 2021 at 08:41:08PM +0900, Yoshihiro Shimoda wrote: > Stop dmaengine transfer in sci_stop_tx(). Otherwise, the following > message is possible output when system enters suspend and while > transferring data, because clearing TIE bit in SCSCR is not able to > stop any dmaengine transfer. > > sh-sci e6550000.serial: ttySC1: Unable to drain transmitter > > Notes that this patch uses dmaengine_terminate_async() so that > we can apply this patch into longterm kernel v4.9.x or later. > > Fixes: 73a19e4c0301 ("serial: sh-sci: Add DMA support.") > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > --- > drivers/tty/serial/sh-sci.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c > index 4baf1316ea72..e7130be48946 100644 > --- a/drivers/tty/serial/sh-sci.c > +++ b/drivers/tty/serial/sh-sci.c > @@ -600,6 +600,9 @@ static void sci_start_tx(struct uart_port *port) > static void sci_stop_tx(struct uart_port *port) > { > unsigned short ctrl; > +#ifdef CONFIG_SERIAL_SH_SCI_DMA > + struct sci_port *s = to_sci_port(port); > +#endif Please do not put #ifdef in .c files, this should be possible without that. thanks, greg k-h