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

serial: tegra: fix tty-kref leak

Fix potential tty-kref leak in stop_rx path.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Tested-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 272b98c6
...@@ -732,7 +732,7 @@ static irqreturn_t tegra_uart_isr(int irq, void *data) ...@@ -732,7 +732,7 @@ static irqreturn_t tegra_uart_isr(int irq, void *data)
static void tegra_uart_stop_rx(struct uart_port *u) static void tegra_uart_stop_rx(struct uart_port *u)
{ {
struct tegra_uart_port *tup = to_tegra_uport(u); struct tegra_uart_port *tup = to_tegra_uport(u);
struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port); struct tty_struct *tty;
struct tty_port *port = &u->state->port; struct tty_port *port = &u->state->port;
struct dma_tx_state state; struct dma_tx_state state;
unsigned long ier; unsigned long ier;
...@@ -744,6 +744,8 @@ static void tegra_uart_stop_rx(struct uart_port *u) ...@@ -744,6 +744,8 @@ static void tegra_uart_stop_rx(struct uart_port *u)
if (!tup->rx_in_progress) if (!tup->rx_in_progress)
return; return;
tty = tty_port_tty_get(&tup->uport.state->port);
tegra_uart_wait_sym_time(tup, 1); /* wait a character interval */ tegra_uart_wait_sym_time(tup, 1); /* wait a character interval */
ier = tup->ier_shadow; ier = tup->ier_shadow;
......
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