]> www.infradead.org Git - users/hch/misc.git/commit
serial: qcom-geni: do not kill the machine on fifo underrun
authorJohan Hovold <johan+linaro@kernel.org>
Thu, 4 Jul 2024 10:18:05 +0000 (12:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Jul 2024 10:30:30 +0000 (12:30 +0200)
commit2ac33975abda6921896e52372aec2be2cf51ab37
treeaddfefa073512756d2e7876c0a8a1436015b0728
parent507786c51ccf8df726df804ae316a8c52537b407
serial: qcom-geni: do not kill the machine on fifo underrun

The Qualcomm GENI serial driver did not handle buffer flushing and used
to print discarded characters when the circular buffer was cleared.
Since commit 1788cf6a91d9 ("tty: serial: switch from circ_buf to kfifo")
this instead resulted in a hard lockup due to
qcom_geni_serial_send_chunk_fifo() spinning indefinitely in the
interrupt handler.

The underlying bugs have now been fixed, but make sure to output NUL
characters instead of killing the machine if a similar driver bug is
ever reintroduced.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240704101805.30612-4-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/qcom_geni_serial.c