From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bryan Wu Subject: [PATCH 8/9] Blackfin Serial Driver: fix a in dma circle rx buffer handling Date: Fri, 17 Oct 2008 01:44:06 +0800 Message-ID: <1224179047-13073-9-git-send-email-cooloney@kernel.org> References: <1224179047-13073-1-git-send-email-cooloney@kernel.org> Return-path: Received: from ti-out-0910.google.com ([209.85.142.191]:21761 "EHLO ti-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758564AbYJPRpU (ORCPT ); Thu, 16 Oct 2008 13:45:20 -0400 Received: by ti-out-0910.google.com with SMTP id b6so49515tic.23 for ; Thu, 16 Oct 2008 10:45:20 -0700 (PDT) In-Reply-To: <1224179047-13073-1-git-send-email-cooloney@kernel.org> Sender: linux-serial-owner@vger.kernel.org List-Id: linux-serial@vger.kernel.org To: alan@redhat.com Cc: linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, Sonic Zhang , Bryan Wu From: Sonic Zhang Reported-by: Qian Zhang Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu --- drivers/serial/bfin_5xx.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index 350bfc4..1e027e3 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c @@ -402,9 +402,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); -- 1.5.6