public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] serial: qcom-geni: fix lockups
@ 2024-07-04 10:18 Johan Hovold
  2024-07-04 10:18 ` [PATCH v2 1/3] serial: qcom-geni: fix soft lockup on sw flow control and suspend Johan Hovold
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Johan Hovold @ 2024-07-04 10:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby
  Cc: Douglas Anderson, Konrad Dybcio, Bjorn Andersson, linux-arm-msm,
	linux-serial, linux-kernel, Johan Hovold

Since 6.10-rc1, Qualcomm machines with a serial port can easily lock up
hard, for example, when stopping a getty on reboot.

This was triggered by the kfifo conversion, which turned an existing bug
that caused the driver to print discarded characters after a buffer
flush into a hard lockup.

This series fixes the regression and a related soft lockup issue that
can be triggered on software flow control and on suspend.

Doug has posted an alternative series of fixes here that depends on
reworking the driver a fair bit here:

	https://lore.kernel.org/lkml/20240610222515.3023730-1-dianders@chromium.org/

This rework has a significant impact on performance on some platforms,
but fortunately it seems such a rework can be avoided.

There are further bugs in the console code (e.g. that can lead to lost
characters) that this series does not address, but those can be fixed
separately (and I've started working on that).

Johan


Changes in v2
 - restart tx by issuing a transfer command when there is stale data in
   the fifo
 - reorder and rename patches
 - rename cancel tx helper

Johan Hovold (3):
  serial: qcom-geni: fix soft lockup on sw flow control and suspend
  serial: qcom-geni: fix hard lockup on buffer flush
  serial: qcom-geni: do not kill the machine on fifo underrun

 drivers/tty/serial/qcom_geni_serial.c | 51 ++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 13 deletions(-)

-- 
2.44.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-07-09 23:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-04 10:18 [PATCH v2 0/3] serial: qcom-geni: fix lockups Johan Hovold
2024-07-04 10:18 ` [PATCH v2 1/3] serial: qcom-geni: fix soft lockup on sw flow control and suspend Johan Hovold
2024-07-04 10:18 ` [PATCH v2 2/3] serial: qcom-geni: fix hard lockup on buffer flush Johan Hovold
2024-07-04 10:18 ` [PATCH v2 3/3] serial: qcom-geni: do not kill the machine on fifo underrun Johan Hovold
2024-07-08 23:59   ` Doug Anderson
2024-07-09  9:44     ` Johan Hovold
2024-07-09 12:55       ` Johan Hovold
2024-07-09 23:30         ` Doug Anderson
2024-07-04 10:30 ` [PATCH v2 0/3] serial: qcom-geni: fix lockups Greg Kroah-Hartman
2024-07-08 23:57   ` Doug Anderson
2024-07-09  9:32     ` Johan Hovold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox