commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=eb32d93b01c6bb59fa217187d2e0bac66a13d08e branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk
Signed-off-by: Sonic Zhang <[email protected]> Signed-off-by: Bob Liu <[email protected]> --- drivers/tty/serial/bfin_uart.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/drivers/tty/serial/bfin_uart.c b/drivers/tty/serial/bfin_uart.c index 4995e12..a247b3c 100644 --- a/drivers/tty/serial/bfin_uart.c +++ b/drivers/tty/serial/bfin_uart.c @@ -358,7 +358,14 @@ static void bfin_serial_tx_chars(struct bfin_serial_port *uart) uart->port.x_char = 0; } - while ((UART_GET_LSR(uart) & THRE) && xmit->tail != xmit->head) { +/* UART Poll mode transfer workaround for bf609. + * Should be removed after SEC controller is working. + * while ((UART_GET_LSR(uart) & THRE) && xmit->tail != xmit->head) { + */ + while (xmit->tail != xmit->head) { + while (!(UART_GET_LSR(uart) & THRE)) + cpu_relax(); + UART_PUT_CHAR(uart, xmit->buf[xmit->tail]); xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); uart->port.icount.tx++;
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
