projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d61ae33
)
tty: serial: sh-sci: Fix end of transmission on SCI
author
Biju Das
<biju.das.jz@bp.renesas.com>
Wed, 12 Apr 2023 14:50:53 +0000
(15:50 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 20 Apr 2023 11:47:33 +0000
(13:47 +0200)
We need to set TE to "0" (i.e., disable serial transmission) to
get the expected behavior of the end of serial transmission.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link:
https://lore.kernel.org/r/20230412145053.114847-6-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci.c
patch
|
blob
|
history
diff --git
a/drivers/tty/serial/sh-sci.c
b/drivers/tty/serial/sh-sci.c
index 5c9ae69c0555d09e711225f6d3f5bbdd4be47b74..7c9457962a3df89658eba7da008d135cd84037dc 100644
(file)
--- a/
drivers/tty/serial/sh-sci.c
+++ b/
drivers/tty/serial/sh-sci.c
@@
-847,6
+847,11
@@
static void sci_transmit_chars(struct uart_port *port)
} else if (!uart_circ_empty(xmit) && !stopped) {
c = xmit->buf[xmit->tail];
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
+ } else if (port->type == PORT_SCI && uart_circ_empty(xmit)) {
+ ctrl = serial_port_in(port, SCSCR);
+ ctrl &= ~SCSCR_TE;
+ serial_port_out(port, SCSCR, ctrl);
+ return;
} else {
break;
}