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

serial: pch_uart: fix tty-kref leak in dma-rx path

Fix tty_kref leak when tty_buffer_request room fails in dma-rx path.

Note that the tty ref isn't really needed anymore, but as the leak has
always been there, fixing it before removing should makes it easier to
backport the fix.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fc0919c6
...@@ -685,11 +685,12 @@ static int dma_push_rx(struct eg20t_port *priv, int size) ...@@ -685,11 +685,12 @@ static int dma_push_rx(struct eg20t_port *priv, int size)
dev_warn(port->dev, "Rx overrun: dropping %u bytes\n", dev_warn(port->dev, "Rx overrun: dropping %u bytes\n",
size - room); size - room);
if (!room) if (!room)
return room; goto out;
tty_insert_flip_string(tport, sg_virt(&priv->sg_rx), size); tty_insert_flip_string(tport, sg_virt(&priv->sg_rx), size);
port->icount.rx += room; port->icount.rx += room;
out:
tty_kref_put(tty); tty_kref_put(tty);
return room; return room;
......
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