All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: gregkh@linuxfoundation.org
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jslaby@suse.cz>
Subject: [PATCH 1/7] serial: pch: move size check from pop_tx one level up
Date: Tue,  3 May 2022 10:06:07 +0200	[thread overview]
Message-ID: <20220503080613.27601-2-jslaby@suse.cz> (raw)
In-Reply-To: <20220503080613.27601-1-jslaby@suse.cz>

'count' is zero in the pop_tx()'s comparison against 'size'. So the 'if'
tries to find out if 'size' is negative or zero and returns in that
case. But it cannot be negative, due to previous (size < 0) check in the
caller: handle_tx().

So simply move this check from pop_tx() to handle_tx(). Now it's clear
that pop_tx() is called only if fifo_size is non-zero.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/tty/serial/pch_uart.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index affe71f8b50c..f872613a5e83 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -791,7 +791,7 @@ static int pop_tx(struct eg20t_port *priv, int size)
 	struct uart_port *port = &priv->port;
 	struct circ_buf *xmit = &port->state->xmit;
 
-	if (uart_tx_stopped(port) || uart_circ_empty(xmit) || count >= size)
+	if (uart_tx_stopped(port) || uart_circ_empty(xmit))
 		goto pop_tx_end;
 
 	do {
@@ -895,14 +895,16 @@ static unsigned int handle_tx(struct eg20t_port *priv)
 		tx_empty = 0;
 		fifo_size--;
 	}
+
 	size = min(xmit->head - xmit->tail, fifo_size);
 	if (size < 0)
 		size = fifo_size;
-
-	tx_size = pop_tx(priv, size);
-	if (tx_size > 0) {
-		port->icount.tx += tx_size;
-		tx_empty = 0;
+	if (size) {
+		tx_size = pop_tx(priv, size);
+		if (tx_size > 0) {
+			port->icount.tx += tx_size;
+			tx_empty = 0;
+		}
 	}
 
 	priv->tx_empty = tx_empty;
-- 
2.36.0


  reply	other threads:[~2022-05-03  8:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-03  8:06 [PATCH 0/7] serial: pch: cleanup Jiri Slaby
2022-05-03  8:06 ` Jiri Slaby [this message]
2022-05-03  9:24   ` [PATCH 1/7] serial: pch: move size check from pop_tx one level up Andy Shevchenko
2022-05-03  8:08 ` [PATCH 2/7] serial: pch: don't overwrite xmit->buf[0] by x_char Jiri Slaby
2022-05-03  8:08   ` [PATCH 3/7] serial: pch: decomission pch_uart_hal_write() Jiri Slaby
2022-05-03  8:08   ` [PATCH 4/7] serial: pch: remove debug print from pop_tx Jiri Slaby
2022-05-03  8:08   ` [PATCH 5/7] serial: pch: remove xmit circ_buf size double check Jiri Slaby
2022-05-03  8:08   ` [PATCH 6/7] serial: pch: simplify pop_tx() even more Jiri Slaby
2022-05-03  8:08   ` [PATCH 7/7] serial: pch: inline pop_tx() into handle_tx() Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220503080613.27601-2-jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.