[SERIAL] SUNHV: Fix jerky console on LDOM guests.

Mixing putchar() and write() hvcalls does not work %100
correctly.  But we should be using write() all the time
if we can, even from ->start_tx(), anyways.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2007-07-16 17:05:11 -07:00
parent 778feeb475
commit f798634d80

View file

@ -258,17 +258,7 @@ static void sunhv_stop_tx(struct uart_port *port)
/* port->lock held by caller. */ /* port->lock held by caller. */
static void sunhv_start_tx(struct uart_port *port) static void sunhv_start_tx(struct uart_port *port)
{ {
struct circ_buf *xmit = &port->info->xmit; transmit_chars(port);
while (!uart_circ_empty(xmit)) {
long status = sun4v_con_putchar(xmit->buf[xmit->tail]);
if (status != HV_EOK)
break;
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
port->icount.tx++;
}
} }
/* port->lock is not held. */ /* port->lock is not held. */