• Geert Uytterhoeven's avatar
    serial: sh-sci: Do not start transfers from sci_startup() · 44763d3d
    Geert Uytterhoeven authored
    FIFO reset is done in sci_reset(), called from sci_set_termios(), while
    sci_start_tx() and sci_start_rx() are called before, from sci_startup().
    However, starting transfers before the UART's FIFOs have been reset may
    cause reading of stale data.
    
    Remove the calls to sci_start_tx() and sci_start_rx() from sci_startup()
    to fix this.
    
    Transfers are still started when needed:
      - sci_start_rx() is called from sci_set_termios() after FIFO reset, if
        the CREAD flag is set,
      - sci_start_tx() is called from uart_change_speed() immediately
        thereafter, if transmission is enabled.
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    44763d3d
sh-sci.c 77.6 KB