tty: serial: qcom_geni_serial: Don't slow all ports just for kgdb
authorDouglas Anderson <dianders@chromium.org>
Mon, 15 Oct 2018 20:44:24 +0000 (13:44 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Nov 2018 16:58:19 +0000 (08:58 -0800)
If you turn on CONFIG_KGDB then you'll get CONFIG_CONSOLE_POLL
selected.

If you have CONFIG_CONSOLE_POLL selected then the GENI serial driver
was setting RX_BYTES_PW to 1 for _all_ UART ports.

This doesn't seem like such a good idea.  Let's only set RX_BYTES_PW
to 1 for the console port.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/qcom_geni_serial.c

index d3b5261..9ee6ce7 100644 (file)
@@ -89,9 +89,9 @@
 #define MAX_LOOPBACK_CFG       3
 
 #ifdef CONFIG_CONSOLE_POLL
-#define RX_BYTES_PW 1
+#define CONSOLE_RX_BYTES_PW 1
 #else
-#define RX_BYTES_PW 4
+#define CONSOLE_RX_BYTES_PW 4
 #endif
 
 struct qcom_geni_serial_port {
@@ -853,11 +853,13 @@ static int qcom_geni_serial_port_setup(struct uart_port *uport)
        unsigned int rxstale = DEFAULT_BITS_PER_CHAR * STALE_TIMEOUT;
        u32 proto;
 
-       if (uart_console(uport))
+       if (uart_console(uport)) {
                port->tx_bytes_pw = 1;
-       else
+               port->rx_bytes_pw = CONSOLE_RX_BYTES_PW;
+       } else {
                port->tx_bytes_pw = 4;
-       port->rx_bytes_pw = RX_BYTES_PW;
+               port->rx_bytes_pw = 4;
+       }
 
        proto = geni_se_read_proto(&port->se);
        if (proto != GENI_SE_UART) {