Commit b374c562 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

serial: tegra: fix CREAD handling for PIO

Commit 33ae787b ("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: 33ae787b ("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: default avatarJohan Hovold <johan@kernel.org>
Acked-by: default avatarThierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20200710135947.2737-2-johan@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 22a82fa7
...@@ -653,11 +653,14 @@ static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup, ...@@ -653,11 +653,14 @@ static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup,
ch = (unsigned char) tegra_uart_read(tup, UART_RX); ch = (unsigned char) tegra_uart_read(tup, UART_RX);
tup->uport.icount.rx++; tup->uport.icount.rx++;
if (!uart_handle_sysrq_char(&tup->uport, ch) && tty) if (uart_handle_sysrq_char(&tup->uport, ch))
tty_insert_flip_char(tty, ch, flag); continue;
if (tup->uport.ignore_status_mask & UART_LSR_DR) if (tup->uport.ignore_status_mask & UART_LSR_DR)
continue; continue;
if (tty)
tty_insert_flip_char(tty, ch, flag);
} while (1); } while (1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment