view sources/patches/linux-unbreakppc.patch @ 1678:e495d01ad5b3

Powerpc serial didn't work in the 3.15 kernel, revert the patch that broke it.
author Rob Landley <rob@landley.net>
date Sun, 31 Aug 2014 23:23:37 -0500
parents
children
line wrap: on
line source

Reverse a commit that completely broke powerpc serial output.

commit 717f3bbab3c7628736ef738fdbf3d9a28578c26c
Author: Seth Bollinger <sethb@digi.com>
Date:   Tue Mar 25 12:55:37 2014 -0500

    serial_core: Fix conditional start_tx on ring buffer not empty
    
    If the serial_core ring buffer empties just as the tty layer receives
    an XOFF, then start_tx will never be called when the tty layer
    receives an XON as the serial_core ring buffer is empty.  This will
    possibly leave a few bytes trapped in the fifo for drivers that
    disable the transmitter when flow controlled.
    
    Signed-off-by: Seth Bollinger <sethb@digi.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 2cf5649..dd1a7be 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -89,7 +89,8 @@ static void __uart_start(struct tty_struct *tty)
 	struct uart_state *state = tty->driver_data;
 	struct uart_port *port = state->uart_port;
 
-	if (!tty->stopped && !tty->hw_stopped)
+	if (!uart_circ_empty(&state->xmit) && state->xmit.buf &&
+	    !tty->stopped && !tty->hw_stopped)
 		port->ops->start_tx(port);
 }