This is a note to let you know that I've just added the patch titled serial: qcom-geni: fix console shutdown hang to the 6.2-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: serial-qcom-geni-fix-console-shutdown-hang.patch and it can be found in the queue-6.2 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 9aff74cc4e9eb841dde5fd009ed7ddca5db40e68 Mon Sep 17 00:00:00 2001 From: Johan Hovold <johan+linaro@xxxxxxxxxx> Date: Tue, 7 Mar 2023 17:44:02 +0100 Subject: serial: qcom-geni: fix console shutdown hang From: Johan Hovold <johan+linaro@xxxxxxxxxx> commit 9aff74cc4e9eb841dde5fd009ed7ddca5db40e68 upstream. A recent commit added back the calls top stop tx and rx to shutdown() which had previously been removed by commit e83766334f96 ("tty: serial: qcom_geni_serial: No need to stop tx/rx on UART shutdown") in order to be able to use kgdb after stopping the getty. Not only did this again break kgdb, but it also broke serial consoles more generally by hanging TX when stopping the getty during reboot. The underlying problem has been there since the driver was first merged and fixing it is going to be a bit involved so simply stop calling the broken stop functions during shutdown for consoles for now. Fixes: d8aca2f96813 ("tty: serial: qcom-geni-serial: stop operations in progress at shutdown") Cc: stable <stable@xxxxxxxxxx> Cc: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Andrew Halaney <ahalaney@xxxxxxxxxx> Tested-by: Andrew Halaney <ahalaney@xxxxxxxxxx> # sa8540p-ride Link: https://lore.kernel.org/r/20230307164405.14218-2-johan+linaro@xxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/tty/serial/qcom_geni_serial.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -891,6 +891,10 @@ static int setup_fifos(struct qcom_geni_ static void qcom_geni_serial_shutdown(struct uart_port *uport) { disable_irq(uport->irq); + + if (uart_console(uport)) + return; + qcom_geni_serial_stop_tx(uport); qcom_geni_serial_stop_rx(uport); } Patches currently in stable-queue which might be from johan+linaro@xxxxxxxxxx are queue-6.2/memory-tegra20-emc-fix-interconnect-registration-race.patch queue-6.2/memory-tegra124-emc-fix-interconnect-registration-race.patch queue-6.2/serial-qcom-geni-fix-console-shutdown-hang.patch queue-6.2/interconnect-exynos-fix-registration-race.patch queue-6.2/interconnect-imx-fix-registration-race.patch queue-6.2/memory-tegra30-emc-fix-interconnect-registration-race.patch queue-6.2/interconnect-qcom-msm8974-fix-registration-race.patch queue-6.2/memory-tegra-fix-interconnect-registration-race.patch queue-6.2/interconnect-qcom-rpm-fix-probe-child-node-error-handling.patch queue-6.2/interconnect-qcom-rpm-fix-registration-race.patch queue-6.2/interconnect-fix-provider-registration-api.patch queue-6.2/interconnect-fix-icc_provider_del-error-handling.patch queue-6.2/interconnect-qcom-rpmh-fix-registration-race.patch queue-6.2/interconnect-fix-mem-leak-when-freeing-nodes.patch queue-6.2/interconnect-qcom-rpmh-fix-probe-child-node-error-handling.patch queue-6.2/interconnect-exynos-fix-node-leak-in-probe-pm-qos-error-path.patch queue-6.2/interconnect-qcom-osm-l3-fix-registration-race.patch