diff options
| author | 2014-07-16 14:09:34 -0700 | |
|---|---|---|
| committer | 2014-07-16 14:09:34 -0700 | |
| commit | 1a98c69af1ecd97bfd1f4e4539924a9192434e36 (patch) | |
| tree | a243defcf921ea174f8e43fce11d06830a6a9c36 /drivers/tty/serial/m32r_sio.c | |
| parent | Merge branch 'bonding-next' (diff) | |
| parent | Merge tag 'for-linus-20140716' of git://git.infradead.org/linux-mtd (diff) | |
| download | wireguard-linux-1a98c69af1ecd97bfd1f4e4539924a9192434e36.tar.xz wireguard-linux-1a98c69af1ecd97bfd1f4e4539924a9192434e36.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/tty/serial/m32r_sio.c')
| -rw-r--r-- | drivers/tty/serial/m32r_sio.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/m32r_sio.c index 68f2c53e0b54..5702828fb62e 100644 --- a/drivers/tty/serial/m32r_sio.c +++ b/drivers/tty/serial/m32r_sio.c @@ -266,9 +266,11 @@ static void m32r_sio_start_tx(struct uart_port *port) if (!(up->ier & UART_IER_THRI)) { up->ier |= UART_IER_THRI; serial_out(up, UART_IER, up->ier); - serial_out(up, UART_TX, xmit->buf[xmit->tail]); - xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); - up->port.icount.tx++; + if (!uart_circ_empty(xmit)) { + serial_out(up, UART_TX, xmit->buf[xmit->tail]); + xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); + up->port.icount.tx++; + } } while((serial_in(up, UART_LSR) & UART_EMPTY) != UART_EMPTY); #else |
