From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: linux-serial@vger.kernel.org,
Greg KH <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>
Cc: linux-kernel@vger.kernel.org,
"Gilles Buloz" <gilles.buloz@kontron.com>,
"Johan Hovold" <johan@kernel.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Subject: [PATCH 0/2] tty/serial: Process XON/XOFF robustly
Date: Tue, 5 Apr 2022 13:24:35 +0300 [thread overview]
Message-ID: <20220405102437.4842-1-ilpo.jarvinen@linux.intel.com> (raw)
XON/XOFF are used for software flow-control on serial lines.
XON and XOFF appear as characters within the stream but should
be processed as soon as possible.
The characters received by the UART drivers are in intermediate
buffers until TTY receives them. In the case where the TTY is
not read from, the characters may get stuck into those
intermediate buffers until user-space reads from the TTY. Among
the characters stuck in the buffers, can also be those XON/XOFF
flow control characters. A stuck flow-control character is not
very useful.
This patch series addresses the issue by checking if TTY is slow
to process characters, that is, eats less than the given amount.
If TTY is slow, a lookahead is invoked for the characters that
remain in the intermediate buffer(s).
Then at a later time, receive_buf needs to ensure the
flow-control actions are not retaken when those same characters
get pushed to TTY. The necessary guards for that are added by
the first patch of the series.
This patch series fixes an issue but I'm not able to pinpoint to
a specific commit id to provide a Fixes tag.
Ilpo Järvinen (2):
tty: Add lookahead param to receive_buf
tty: Implement lookahead to process XON/XOFF timely
drivers/accessibility/speakup/spk_ttyio.c | 2 +-
drivers/bluetooth/hci_ldisc.c | 2 +-
drivers/char/pcmcia/synclink_cs.c | 2 +-
drivers/input/serio/serport.c | 2 +-
drivers/isdn/capi/capi.c | 2 +-
drivers/misc/ti-st/st_core.c | 2 +-
drivers/net/caif/caif_serial.c | 4 +-
drivers/net/can/slcan.c | 2 +-
drivers/net/hamradio/6pack.c | 2 +-
drivers/net/hamradio/mkiss.c | 2 +-
drivers/net/mctp/mctp-serial.c | 2 +-
drivers/net/ppp/ppp_async.c | 2 +-
drivers/net/ppp/ppp_synctty.c | 2 +-
drivers/net/slip/slip.c | 2 +-
drivers/tty/n_gsm.c | 2 +-
drivers/tty/n_hdlc.c | 2 +-
drivers/tty/n_null.c | 2 +-
drivers/tty/n_tty.c | 85 ++++++++++++++++-------
drivers/tty/serdev/serdev-ttyport.c | 3 +-
drivers/tty/synclink_gt.c | 2 +-
drivers/tty/tty_buffer.c | 68 ++++++++++++++----
drivers/tty/tty_io.c | 2 +-
drivers/tty/tty_port.c | 27 ++++++-
drivers/tty/vt/selection.c | 2 +-
include/linux/tty_buffer.h | 1 +
include/linux/tty_flip.h | 2 +-
include/linux/tty_ldisc.h | 6 +-
include/linux/tty_port.h | 3 +-
net/nfc/nci/uart.c | 2 +-
sound/soc/codecs/cx20442.c | 2 +-
sound/soc/ti/ams-delta.c | 2 +-
31 files changed, 174 insertions(+), 69 deletions(-)
--
2.30.2
next reply other threads:[~2022-04-06 1:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-05 10:24 Ilpo Järvinen [this message]
2022-04-05 10:24 ` [PATCH 1/2] tty: Add lookahead param to receive_buf Ilpo Järvinen
2022-04-05 16:03 ` Andy Shevchenko
2022-04-06 8:07 ` Jiri Slaby
2022-04-06 8:13 ` Jiri Slaby
2022-04-06 8:46 ` Ilpo Järvinen
2022-04-05 10:24 ` [PATCH 2/2] tty: Implement lookahead to process XON/XOFF timely Ilpo Järvinen
2022-04-05 16:11 ` Andy Shevchenko
2022-04-06 8:21 ` Jiri Slaby
2022-04-06 8:50 ` Ilpo Järvinen
2022-04-06 8:54 ` Andy Shevchenko
2022-04-06 8:56 ` Andy Shevchenko
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=20220405102437.4842-1-ilpo.jarvinen@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=gilles.buloz@kontron.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=johan@kernel.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;
as well as URLs for NNTP newsgroup(s).