public inbox for linux-serial@vger.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 13/19] mxser: clean up timeout handling in mxser_wait_until_sent()
Date: Thu, 18 Nov 2021 08:31:19 +0100	[thread overview]
Message-ID: <20211118073125.12283-14-jslaby@suse.cz> (raw)
In-Reply-To: <20211118073125.12283-1-jslaby@suse.cz>

timeout cannot be zero at the point of use. So no need to check for
zero. Also precompute the expiration time (into expire) and use it. This
makes the code more clear.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/tty/mxser.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
index b3ae3b105af0..c3f262dc936d 100644
--- a/drivers/tty/mxser.c
+++ b/drivers/tty/mxser.c
@@ -1420,7 +1420,7 @@ static bool mxser_tx_empty(struct mxser_port *info)
 static void mxser_wait_until_sent(struct tty_struct *tty, int timeout)
 {
 	struct mxser_port *info = tty->driver_data;
-	unsigned long orig_jiffies, char_time;
+	unsigned long expire, char_time;
 
 	if (info->type == PORT_UNKNOWN)
 		return;
@@ -1428,7 +1428,6 @@ static void mxser_wait_until_sent(struct tty_struct *tty, int timeout)
 	if (info->xmit_fifo_size == 0)
 		return;		/* Just in case.... */
 
-	orig_jiffies = jiffies;
 	/*
 	 * Set the check interval to be 1/5 of the estimated time to
 	 * send a single character, and make it at least 1.  The check
@@ -1458,11 +1457,13 @@ static void mxser_wait_until_sent(struct tty_struct *tty, int timeout)
 	if (!timeout || timeout > 2 * info->timeout)
 		timeout = 2 * info->timeout;
 
+	expire = jiffies + timeout;
+
 	while (mxser_tx_empty(info)) {
 		msleep_interruptible(char_time);
 		if (signal_pending(current))
 			break;
-		if (timeout && time_after(jiffies, orig_jiffies + timeout))
+		if (time_after(jiffies, expire))
 			break;
 	}
 }
-- 
2.33.1


  parent reply	other threads:[~2021-11-18  7:31 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-18  7:31 [PATCH 00/19] mxser: another round of cleanups and fixes Jiri Slaby
2021-11-18  7:31 ` [PATCH 01/19] mxser: remove wait for sent from mxser_close_port Jiri Slaby
2021-11-18  7:31 ` [PATCH 02/19] mxser: rename mxser_close_port() to mxser_stop_rx() Jiri Slaby
2021-11-18  7:31 ` [PATCH 03/19] mxser: keep only !tty test in ISR Jiri Slaby
2021-11-18  7:31 ` [PATCH 04/19] mxser: move MSR read to mxser_check_modem_status() Jiri Slaby
2021-11-18  7:31 ` [PATCH 05/19] mxser: clean up tx handling in mxser_transmit_chars() Jiri Slaby
2021-11-18  7:31 ` [PATCH 06/19] mxser: remove pointless xmit_buf checks Jiri Slaby
2021-11-18  7:31 ` [PATCH 07/19] mxser: remove tty->driver_data NULL check Jiri Slaby
2021-11-18  7:31 ` [PATCH 08/19] mxser: call stop_rx from mxser_shutdown_port() Jiri Slaby
2021-11-18  7:31 ` [PATCH 09/19] mxser: don't flush buffer from mxser_close() directly Jiri Slaby
2021-11-18  7:31 ` [PATCH 10/19] mxser: use tty_port_close() in mxser_close() Jiri Slaby
2021-11-18  7:31 ` [PATCH 11/19] mxser: extract TX empty check from mxser_wait_until_sent() Jiri Slaby
2021-11-18  7:31 ` [PATCH 12/19] mxser: use msleep_interruptible() in mxser_wait_until_sent() Jiri Slaby
2021-11-18  7:31 ` Jiri Slaby [this message]
2021-11-18  7:31 ` [PATCH 14/19] mxser: don't throttle manually Jiri Slaby
2021-11-18  7:31 ` [PATCH 15/19] mxser: remove tty parameter from mxser_receive_chars_new() Jiri Slaby
2021-11-18  7:31 ` [PATCH 16/19] mxser: increase buf_overrun if tty_insert_flip_char() fails Jiri Slaby
2021-11-18  7:31 ` [PATCH 17/19] mxser: add MOXA prefix to some PCI device IDs Jiri Slaby
2021-11-18  7:31 ` [PATCH 18/19] mxser: move ids from pci_ids.h here Jiri Slaby
2021-11-18 20:58   ` Bjorn Helgaas
2021-11-18  7:31 ` [PATCH 19/19] mxser: use PCI_DEVICE_DATA 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=20211118073125.12283-14-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox