serial: core: Introduce callback for start_rx and do stop_rx in suspend only if this...
authorVijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>
Tue, 7 Jun 2022 18:52:44 +0000 (00:22 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jun 2022 11:30:41 +0000 (13:30 +0200)
commitcfab87c2c2715763dc7e43d9968bdaa01cde4bc3
treeba9de1fdf2ace007227aad12aeec2c9003a94f8a
parente74024b2eccbb784824a0f9feaeaaa3b47514b79
serial: core: Introduce callback for start_rx and do stop_rx in suspend only if this callback implementation is present.

In suspend sequence there is a need to perform stop_rx during suspend
sequence to prevent any asynchronous data over rx line. However this
can cause problem to drivers which dont do re-start_rx during set_termios.

Add new callback start_rx and perform stop_rx only when implementation of
start_rx is present. Also add call to start_rx in resume sequence so that
drivers who come across this problem can make use of this framework.

Fixes: c9d2325cdb92 ("serial: core: Do stop_rx in suspend path for console if console_suspend is disabled")
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Vijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>
Link: https://lore.kernel.org/r/1654627965-1461-2-git-send-email-quic_vnivarth@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial_core.c
include/linux/serial_core.h