|
@@ -401,9 +401,11 @@ static void bfin_serial_dma_rx_chars(struct bfin_serial_port *uart)
|
|
|
else
|
|
|
flg = TTY_NORMAL;
|
|
|
|
|
|
- for (i = uart->rx_dma_buf.tail; i != uart->rx_dma_buf.head; i++) {
|
|
|
+ for (i = uart->rx_dma_buf.tail; ; i++) {
|
|
|
if (i >= UART_XMIT_SIZE)
|
|
|
i = 0;
|
|
|
+ if (i == uart->rx_dma_buf.head)
|
|
|
+ break;
|
|
|
if (!uart_handle_sysrq_char(&uart->port, uart->rx_dma_buf.buf[i]))
|
|
|
uart_insert_char(&uart->port, status, OE,
|
|
|
uart->rx_dma_buf.buf[i], flg);
|