diff options
author | Jiri Slaby (SUSE) <jirislaby@kernel.org> | 2023-09-19 10:51:46 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-10-03 14:31:15 +0200 |
commit | 043c8a7c01ec4b13aa0da11a86425241937b112c (patch) | |
tree | 1ce5fecd06c06bfbfbaae458d69d82ddaf838bcb /drivers/tty | |
parent | c2b0fb9f69987ddec6bf21f95157603ea4c83aff (diff) | |
download | linux-043c8a7c01ec4b13aa0da11a86425241937b112c.tar.gz linux-043c8a7c01ec4b13aa0da11a86425241937b112c.tar.bz2 linux-043c8a7c01ec4b13aa0da11a86425241937b112c.zip |
tty: n_tty: use do-while in n_tty_check_{,un}throttle()
This change gets rid of the complicated exit from the loops. It can be
done much easier using do-while loops.
Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20230919085156.1578-6-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/n_tty.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index 922fb61b587a..b34e6612aef6 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -249,15 +249,12 @@ static void n_tty_check_throttle(struct tty_struct *tty) if (ldata->icanon && ldata->canon_head == ldata->read_tail) return; - while (1) { - int throttled; + do { tty_set_flow_change(tty, TTY_THROTTLE_SAFE); if (N_TTY_BUF_SIZE - read_cnt(ldata) >= TTY_THRESHOLD_THROTTLE) break; - throttled = tty_throttle_safe(tty); - if (!throttled) - break; - } + } while (tty_throttle_safe(tty)); + __tty_set_flow_change(tty, 0); } @@ -279,16 +276,14 @@ static void n_tty_check_unthrottle(struct tty_struct *tty) * we won't get any more characters. */ - while (1) { - int unthrottled; + do { tty_set_flow_change(tty, TTY_UNTHROTTLE_SAFE); if (chars_in_buffer(tty) > TTY_THRESHOLD_UNTHROTTLE) break; + n_tty_kick_worker(tty); - unthrottled = tty_unthrottle_safe(tty); - if (!unthrottled) - break; - } + } while (tty_unthrottle_safe(tty)); + __tty_set_flow_change(tty, 0); } |