diff options
Diffstat (limited to 'drivers/tty/serial/ip22zilog.c')
-rw-r--r-- | drivers/tty/serial/ip22zilog.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tty/serial/ip22zilog.c b/drivers/tty/serial/ip22zilog.c index 1d9420548e16..99b7b8697861 100644 --- a/drivers/tty/serial/ip22zilog.c +++ b/drivers/tty/serial/ip22zilog.c | |||
@@ -603,6 +603,8 @@ static void ip22zilog_start_tx(struct uart_port *port) | |||
603 | } else { | 603 | } else { |
604 | struct circ_buf *xmit = &port->state->xmit; | 604 | struct circ_buf *xmit = &port->state->xmit; |
605 | 605 | ||
606 | if (uart_circ_empty(xmit)) | ||
607 | return; | ||
606 | writeb(xmit->buf[xmit->tail], &channel->data); | 608 | writeb(xmit->buf[xmit->tail], &channel->data); |
607 | ZSDELAY(); | 609 | ZSDELAY(); |
608 | ZS_WSYNC(channel); | 610 | ZS_WSYNC(channel); |
@@ -850,7 +852,7 @@ ip22zilog_convert_to_zs(struct uart_ip22zilog_port *up, unsigned int cflag, | |||
850 | up->port.read_status_mask = Rx_OVR; | 852 | up->port.read_status_mask = Rx_OVR; |
851 | if (iflag & INPCK) | 853 | if (iflag & INPCK) |
852 | up->port.read_status_mask |= CRC_ERR | PAR_ERR; | 854 | up->port.read_status_mask |= CRC_ERR | PAR_ERR; |
853 | if (iflag & (BRKINT | PARMRK)) | 855 | if (iflag & (IGNBRK | BRKINT | PARMRK)) |
854 | up->port.read_status_mask |= BRK_ABRT; | 856 | up->port.read_status_mask |= BRK_ABRT; |
855 | 857 | ||
856 | up->port.ignore_status_mask = 0; | 858 | up->port.ignore_status_mask = 0; |