]> err.no Git - linux-2.6/blobdiff - drivers/serial/sunsu.c
[PATCH] ipc: convert /proc/sysvipc/* to generic seq_file interface
[linux-2.6] / drivers / serial / sunsu.c
index 0cc879eb1c02e36fa53dc057eff22d25a5f7c7be..5959e6755a8149d4fd440592b2d6ae57fe25b929 100644 (file)
@@ -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);
        }