diff options
Diffstat (limited to 'drivers/tty/serial/sh-sci.c')
-rw-r--r-- | drivers/tty/serial/sh-sci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 0ec2d938011d..fdbbff547106 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c | |||
@@ -886,6 +886,8 @@ static void sci_receive_chars(struct uart_port *port) | |||
886 | /* Tell the rest of the system the news. New characters! */ | 886 | /* Tell the rest of the system the news. New characters! */ |
887 | tty_flip_buffer_push(tport); | 887 | tty_flip_buffer_push(tport); |
888 | } else { | 888 | } else { |
889 | /* TTY buffers full; read from RX reg to prevent lockup */ | ||
890 | serial_port_in(port, SCxRDR); | ||
889 | serial_port_in(port, SCxSR); /* dummy read */ | 891 | serial_port_in(port, SCxSR); /* dummy read */ |
890 | sci_clear_SCxSR(port, SCxSR_RDxF_CLEAR(port)); | 892 | sci_clear_SCxSR(port, SCxSR_RDxF_CLEAR(port)); |
891 | } | 893 | } |