Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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;