mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
tty: Rework receive flow control char logic
Add a helper to check if the character is a flow control one. This rework prepares for adding lookahead done check cleanly to n_tty_receive_char_flow_ctrl() between n_tty_is_char_flow_ctrl() and the actions taken on the flow control characters. No functional changes intended. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20220426144935.54893-2-ilpo.jarvinen@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ef44c6c1e8
commit
25e02ba60f
1 changed files with 11 additions and 5 deletions
|
@ -1220,20 +1220,26 @@ n_tty_receive_signal_char(struct tty_struct *tty, int signal, unsigned char c)
|
||||||
process_echoes(tty);
|
process_echoes(tty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool n_tty_is_char_flow_ctrl(struct tty_struct *tty, unsigned char c)
|
||||||
|
{
|
||||||
|
return c == START_CHAR(tty) || c == STOP_CHAR(tty);
|
||||||
|
}
|
||||||
|
|
||||||
/* Returns true if c is consumed as flow-control character */
|
/* Returns true if c is consumed as flow-control character */
|
||||||
static bool n_tty_receive_char_flow_ctrl(struct tty_struct *tty, unsigned char c)
|
static bool n_tty_receive_char_flow_ctrl(struct tty_struct *tty, unsigned char c)
|
||||||
{
|
{
|
||||||
|
if (!n_tty_is_char_flow_ctrl(tty, c))
|
||||||
|
return false;
|
||||||
|
|
||||||
if (c == START_CHAR(tty)) {
|
if (c == START_CHAR(tty)) {
|
||||||
start_tty(tty);
|
start_tty(tty);
|
||||||
process_echoes(tty);
|
process_echoes(tty);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (c == STOP_CHAR(tty)) {
|
|
||||||
stop_tty(tty);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
/* STOP_CHAR */
|
||||||
|
stop_tty(tty);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void n_tty_receive_char_special(struct tty_struct *tty, unsigned char c)
|
static void n_tty_receive_char_special(struct tty_struct *tty, unsigned char c)
|
||||||
|
|
Loading…
Reference in a new issue