diff options
author | Jiri Slaby <jslaby@suse.cz> | 2020-02-19 11:41:02 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-21 12:24:33 +0300 |
commit | 5f2895143d5e18641bcbdea70029d17cd5650201 (patch) | |
tree | 64d988d9b020e248c50997db7ea91ff0a94bcd9f /drivers/tty/n_hdlc.c | |
parent | 30fafd92c272d238efe781a5daeaa4af2824067a (diff) | |
download | linux-5f2895143d5e18641bcbdea70029d17cd5650201.tar.xz |
n_hdlc: invert conditions in n_hdlc_tty_close and n_hdlc_tty_poll
This makes the functions return immediatelly on invalid state. And we
can push the indent of the later code one level left.
Pass "-w" to "git show" to see we are changing only the conditions (and
whitespace).
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20200219084118.26491-8-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/n_hdlc.c')
-rw-r--r-- | drivers/tty/n_hdlc.c | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/drivers/tty/n_hdlc.c b/drivers/tty/n_hdlc.c index 07ba42badd7a..e40561caa450 100644 --- a/drivers/tty/n_hdlc.c +++ b/drivers/tty/n_hdlc.c @@ -258,24 +258,25 @@ static void n_hdlc_tty_close(struct tty_struct *tty) { struct n_hdlc *n_hdlc = tty2n_hdlc (tty); - if (n_hdlc != NULL) { - if (n_hdlc->magic != HDLC_MAGIC) { - printk (KERN_WARNING"n_hdlc: trying to close unopened tty!\n"); - return; - } + if (!n_hdlc) + return; + + if (n_hdlc->magic != HDLC_MAGIC) { + printk(KERN_WARNING "n_hdlc: trying to close unopened tty!\n"); + return; + } #if defined(TTY_NO_WRITE_SPLIT) - clear_bit(TTY_NO_WRITE_SPLIT,&tty->flags); + clear_bit(TTY_NO_WRITE_SPLIT,&tty->flags); #endif - tty->disc_data = NULL; - if (tty == n_hdlc->backup_tty) - n_hdlc->backup_tty = NULL; - if (tty != n_hdlc->tty) - return; - if (n_hdlc->backup_tty) { - n_hdlc->tty = n_hdlc->backup_tty; - } else { - n_hdlc_release (n_hdlc); - } + tty->disc_data = NULL; + if (tty == n_hdlc->backup_tty) + n_hdlc->backup_tty = NULL; + if (tty != n_hdlc->tty) + return; + if (n_hdlc->backup_tty) { + n_hdlc->tty = n_hdlc->backup_tty; + } else { + n_hdlc_release (n_hdlc); } } /* end of n_hdlc_tty_close() */ @@ -737,24 +738,27 @@ static __poll_t n_hdlc_tty_poll(struct tty_struct *tty, struct file *filp, struct n_hdlc *n_hdlc = tty2n_hdlc (tty); __poll_t mask = 0; - if (n_hdlc && n_hdlc->magic == HDLC_MAGIC && tty == n_hdlc->tty) { - /* queue current process into any wait queue that */ - /* may awaken in the future (read and write) */ - - poll_wait(filp, &tty->read_wait, wait); - poll_wait(filp, &tty->write_wait, wait); - - /* set bits for operations that won't block */ - if (!list_empty(&n_hdlc->rx_buf_list.list)) - mask |= EPOLLIN | EPOLLRDNORM; /* readable */ - if (test_bit(TTY_OTHER_CLOSED, &tty->flags)) - mask |= EPOLLHUP; - if (tty_hung_up_p(filp)) - mask |= EPOLLHUP; - if (!tty_is_writelocked(tty) && - !list_empty(&n_hdlc->tx_free_buf_list.list)) - mask |= EPOLLOUT | EPOLLWRNORM; /* writable */ - } + if (!n_hdlc || n_hdlc->magic != HDLC_MAGIC || tty != n_hdlc->tty) + return 0; + + /* + * queue the current process into any wait queue that may awaken in the + * future (read and write) + */ + poll_wait(filp, &tty->read_wait, wait); + poll_wait(filp, &tty->write_wait, wait); + + /* set bits for operations that won't block */ + if (!list_empty(&n_hdlc->rx_buf_list.list)) + mask |= EPOLLIN | EPOLLRDNORM; /* readable */ + if (test_bit(TTY_OTHER_CLOSED, &tty->flags)) + mask |= EPOLLHUP; + if (tty_hung_up_p(filp)) + mask |= EPOLLHUP; + if (!tty_is_writelocked(tty) && + !list_empty(&n_hdlc->tx_free_buf_list.list)) + mask |= EPOLLOUT | EPOLLWRNORM; /* writable */ + return mask; } /* end of n_hdlc_tty_poll() */ |