From: Sonic Zhang Date: Mon, 13 Oct 2008 09:33:33 +0000 (+0100) Subject: Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer. X-Git-Tag: v2.6.28-rc1~682 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=5ffdeea2f99ed9d46bf954c9fdc64da7da57e81b;p=linux-2.6-omap-h63xx.git Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer. Disable irq and return immediately. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds --- diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index 8d2d7570668..5e20f50342a 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c @@ -301,7 +301,11 @@ static void bfin_serial_tx_chars(struct bfin_serial_port *uart) bfin_serial_mctrl_check(uart); if (uart_circ_empty(xmit) || uart_tx_stopped(&uart->port)) { - bfin_serial_stop_tx(&uart->port); +#ifdef CONFIG_BF54x + /* Clear TFI bit */ + UART_PUT_LSR(uart, TFI); +#endif + UART_CLEAR_IER(uart, ETBEI); return; }