diff --git a/[refs] b/[refs] index 4c1eff7a1487..4744f0658681 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e5e259466f2fe68251b1e1092949ef3d4dabb254 +refs/heads/master: 3d9c994840f0e217c391871ddbb84a506d275658 diff --git a/trunk/drivers/serial/sunsu.c b/trunk/drivers/serial/sunsu.c index 0cc879eb1c02..5959e6755a81 100644 --- a/trunk/drivers/serial/sunsu.c +++ b/trunk/drivers/serial/sunsu.c @@ -269,7 +269,10 @@ static void sunsu_stop_tx(struct uart_port *port) __stop_tx(up); - if (up->port.type == PORT_16C950 && tty_stop /*FIXME*/) { + /* + * We really want to stop the transmitter from sending. + */ + if (up->port.type == PORT_16C950) { up->acr |= UART_ACR_TXDIS; serial_icr_write(up, UART_ACR, up->acr); } @@ -283,10 +286,11 @@ static void sunsu_start_tx(struct uart_port *port) up->ier |= UART_IER_THRI; serial_out(up, UART_IER, up->ier); } + /* - * We only do this from uart_start + * Re-enable the transmitter if we disabled it. */ - if (tty_start && up->port.type == PORT_16C950 /*FIXME*/) { + if (up->port.type == PORT_16C950 && up->acr & UART_ACR_TXDIS) { up->acr &= ~UART_ACR_TXDIS; serial_icr_write(up, UART_ACR, up->acr); }