Skip to content

Commit 9aff74c

Browse files
jhovoldgregkh
authored andcommitted
serial: qcom-geni: fix console shutdown hang
A recent commit added back the calls top stop tx and rx to shutdown() which had previously been removed by commit e837663 ("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: d8aca2f ("tty: serial: qcom-geni-serial: stop operations in progress at shutdown") Cc: stable <[email protected]> Cc: Bartosz Golaszewski <[email protected]> Signed-off-by: Johan Hovold <[email protected]> Reviewed-by: Douglas Anderson <[email protected]> Reviewed-by: Srinivas Kandagatla <[email protected]> Tested-by: Srinivas Kandagatla <[email protected]> Reviewed-by: Andrew Halaney <[email protected]> Tested-by: Andrew Halaney <[email protected]> # sa8540p-ride Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 1a5ecc7 commit 9aff74c

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/tty/serial/qcom_geni_serial.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,10 @@ static int setup_fifos(struct qcom_geni_serial_port *port)
10701070
static void qcom_geni_serial_shutdown(struct uart_port *uport)
10711071
{
10721072
disable_irq(uport->irq);
1073+
1074+
if (uart_console(uport))
1075+
return;
1076+
10731077
qcom_geni_serial_stop_tx(uport);
10741078
qcom_geni_serial_stop_rx(uport);
10751079
}

0 commit comments

Comments
 (0)