[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240704101805.30612-1-johan+linaro@kernel.org>
Date: Thu, 4 Jul 2024 12:18:02 +0200
From: Johan Hovold <johan+linaro@...nel.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>
Cc: Douglas Anderson <dianders@...omium.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Bjorn Andersson <andersson@...nel.org>,
linux-arm-msm@...r.kernel.org,
linux-serial@...r.kernel.org,
linux-kernel@...r.kernel.org,
Johan Hovold <johan+linaro@...nel.org>
Subject: [PATCH v2 0/3] serial: qcom-geni: fix lockups
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
Powered by blists - more mailing lists