diff options
author | Brian Norris <computersforpeace@gmail.com> | 2014-07-20 23:59:16 -0700 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-07-21 00:01:16 -0700 |
commit | d0d5864676dbccfb1337864a0ae6ce97e6342678 (patch) | |
tree | 7caa674ec05a1797054cd4304f0a047b6dacddd6 /drivers/tty/serial/m32r_sio.c | |
parent | 6534e6809e6c9d48114b537afe03bee3fd33bf01 (diff) | |
parent | 9a3c4145af32125c5ee39c0272662b47307a8323 (diff) | |
download | talos-op-linux-d0d5864676dbccfb1337864a0ae6ce97e6342678.tar.gz talos-op-linux-d0d5864676dbccfb1337864a0ae6ce97e6342678.zip |
Merge tag 'v3.16-rc6' into MTD development branch
Linux 3.16-rc6
Diffstat (limited to 'drivers/tty/serial/m32r_sio.c')
-rw-r--r-- | drivers/tty/serial/m32r_sio.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/m32r_sio.c index 9cd9b4eba9fc..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 @@ -737,7 +739,7 @@ static void m32r_sio_set_termios(struct uart_port *port, up->port.read_status_mask = UART_LSR_OE | UART_LSR_THRE | UART_LSR_DR; if (termios->c_iflag & INPCK) up->port.read_status_mask |= UART_LSR_FE | UART_LSR_PE; - if (termios->c_iflag & (BRKINT | PARMRK)) + if (termios->c_iflag & (IGNBRK | BRKINT | PARMRK)) up->port.read_status_mask |= UART_LSR_BI; /* |