From: Dave Martin <Dave.Martin@arm.com>
To: linux-serial@vger.kernel.org
Cc: Russell King <linux@arm.linux.org.uk>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Phil Elwell <phil@raspberrypi.org>,
linux-rpi-kernel@lists.infradead.org,
Jiri Slaby <jslaby@suse.com>,
Rogier Wolff <R.E.Wolff@BitWizard.nl>,
linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/2] serial: pl011: Fix TX dropping race
Date: Fri, 19 Jul 2019 14:35:23 +0100 [thread overview]
Message-ID: <1563543325-12463-1-git-send-email-Dave.Martin@arm.com> (raw)
When serial_core pushes some new TX chars via a call to
pl011_start_tx(), it can race with irqs triggered by ongoing
transmission, overfilling the FIFO and causing characters to be silently
dropped.
This was originally reported by Phil Elwell [1], who proposed an initial
fix.
This series aims for a simpler and more robust solution to the problem.
Any testing much appreciated! If all looks good, I can repost this on
v5.3-rc1 when that arrives.
As noted in the patches, I'm not sure that the second patch is necessary
(or even desirable). Please test both with and without the second
patch, and please comment if you have any thoughts on it :)
[1] [PATCH] tty: amba-pl011: Make TX optimisation conditional
http://lists.infradead.org/pipermail/linux-rpi-kernel/2019-July/008832.html
Dave Martin (2):
serial: pl011: Fix dropping of TX chars due to irq race
serial: pl011: Don't bother pushing more TX data while TX irq is
active
drivers/tty/serial/amba-pl011.c | 11 +++++++++++
1 file changed, 11 insertions(+)
--
2.1.4
next reply other threads:[~2019-07-19 13:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-19 13:35 Dave Martin [this message]
2019-07-19 13:35 ` [RFC PATCH 1/2] serial: pl011: Fix dropping of TX chars due to irq race Dave Martin
2019-07-19 13:35 ` [RFC PATCH 2/2] serial: pl011: Don't bother pushing more TX data while TX irq is active Dave Martin
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=1563543325-12463-1-git-send-email-Dave.Martin@arm.com \
--to=dave.martin@arm.com \
--cc=R.E.Wolff@BitWizard.nl \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=phil@raspberrypi.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