lkml.org 
[lkml]   [2020]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 151/179] serial: tegra: fix CREAD handling for PIO
    Date
    From: Johan Hovold <johan@kernel.org>

    commit b374c562ee7ab3f3a1daf959c01868bae761571c upstream.

    Commit 33ae787b74fc ("serial: tegra: add support to ignore read") added
    support for dropping input in case CREAD isn't set, but for PIO the
    ignore_status_mask wasn't checked until after the character had been
    put in the receive buffer.

    Note that the NULL tty-port test is bogus and will be removed by a
    follow-on patch.

    Fixes: 33ae787b74fc ("serial: tegra: add support to ignore read")
    Cc: stable <stable@vger.kernel.org> # 5.4
    Cc: Shardar Shariff Md <smohammed@nvidia.com>
    Cc: Krishna Yarlagadda <kyarlagadda@nvidia.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/20200710135947.2737-2-johan@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/tty/serial/serial-tegra.c | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    --- a/drivers/tty/serial/serial-tegra.c
    +++ b/drivers/tty/serial/serial-tegra.c
    @@ -653,11 +653,14 @@ static void tegra_uart_handle_rx_pio(str
    ch = (unsigned char) tegra_uart_read(tup, UART_RX);
    tup->uport.icount.rx++;

    - if (!uart_handle_sysrq_char(&tup->uport, ch) && tty)
    - tty_insert_flip_char(tty, ch, flag);
    + if (uart_handle_sysrq_char(&tup->uport, ch))
    + continue;

    if (tup->uport.ignore_status_mask & UART_LSR_DR)
    continue;
    +
    + if (tty)
    + tty_insert_flip_char(tty, ch, flag);
    } while (1);
    }


    \
     
     \ /
      Last update: 2020-07-27 16:26    [W:2.805 / U:0.356 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site