The cdns_uart_tx_empty function is currently checking oly for tx_empty bit of SR. In some environments, it is leading to a corruption in log because tx_empty does not gaurantee that all the bytes are transmitted out of the FIFO. So, add TACTIVE bit in the check. This patch series does the following: -Remove unconditional wait for tx_empty inside set_termios function -Add TACTIVE check in cdns_uart_tx_empty function Changes in v4: -Split into two patches as suggested by Johan Raviteja Narayanam (2): serial: uartps: Remove unconditional wait inside set_termios serial: uartps: Add TACTIVE check in cdns_uart_tx_empty function drivers/tty/serial/xilinx_uartps.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) -- 2.1.1