[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:
parent
778feeb475
commit
f798634d80
1 changed files with 1 additions and 11 deletions
|
@ -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. */
|
||||||
|
|
Loading…
Reference in a new issue