]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Revert "tty: serial: msm: Don't reconfigure same baud rate"
authorNicolas Dechesne <nicolas.dechesne@linaro.org>
Thu, 23 Jun 2016 10:30:20 +0000 (12:30 +0200)
committerNicolas Dechesne <nicolas.dechesne@linaro.org>
Thu, 23 Jun 2016 10:30:38 +0000 (12:30 +0200)
This reverts commit 3acdf16463fed848d4f87fb827043b27adc79c25.

As it breaks serial console on SD 600 eval and IFC6410.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
drivers/tty/serial/msm_serial.c

index eeb9a9d806838f832d5dc6e23abacc9f398268ab..e1de4944e0ce5f8eae8ada1020086294c9a13fea 100644 (file)
@@ -76,7 +76,6 @@ struct msm_port {
        bool                    break_detected;
        struct msm_dma          tx_dma;
        struct msm_dma          rx_dma;
-       unsigned int            last_baud;
 };
 
 static void msm_handle_tx(struct uart_port *port);
@@ -1040,16 +1039,11 @@ static void msm_set_termios(struct uart_port *port, struct ktermios *termios,
        if (dma->chan) /* Terminate if any */
                msm_stop_dma(port, dma);
 
-       /* calculate and set baud rate, if changed from last request */
+       /* calculate and set baud rate */
        baud = uart_get_baud_rate(port, termios, old, 300, 4000000);
-       if (baud != msm_port->last_baud) {
-               msm_port->last_baud = baud;
-
-               baud = msm_set_baud_rate(port, baud, &flags);
-               if (tty_termios_baud_rate(termios))
-                       tty_termios_encode_baud_rate(termios, baud, baud);
-               uart_update_timeout(port, termios->c_cflag, baud);
-       }
+       baud = msm_set_baud_rate(port, baud, &flags);
+       if (tty_termios_baud_rate(termios))
+               tty_termios_encode_baud_rate(termios, baud, baud);
 
        /* calculate parity */
        mr = msm_read(port, UART_MR2);
@@ -1107,6 +1101,8 @@ static void msm_set_termios(struct uart_port *port, struct ktermios *termios,
        if (termios->c_iflag & (IGNBRK | BRKINT | PARMRK))
                port->read_status_mask |= UART_SR_RX_BREAK;
 
+       uart_update_timeout(port, termios->c_cflag, baud);
+
        /* Try to use DMA */
        msm_start_rx_dma(msm_port);