diff options
author | Jiri Slaby <jslaby@suse.cz> | 2013-03-07 07:12:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-18 19:24:29 -0400 |
commit | aa27a094e2c2e0cc59914e56113b860f524f4479 (patch) | |
tree | b3cfef8d8023741107e3d3bed934f2bd4d8bf189 /drivers/tty/nozomi.c | |
parent | e4408ce3c23f8451eff7a2954694598fb8fce833 (diff) |
TTY: add tty_port_tty_hangup helper
It allows for cleaning up on a considerable amount of places. They did
port_get, hangup, kref_put. Now the only thing needed is to call
tty_port_tty_hangup which does exactly that. And they can also decide
whether to consider CLOCAL or completely ignore that.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/nozomi.c')
-rw-r--r-- | drivers/tty/nozomi.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c index 2e5bbdc09e1c..d6080c3831ef 100644 --- a/drivers/tty/nozomi.c +++ b/drivers/tty/nozomi.c | |||
@@ -1501,12 +1501,9 @@ static void tty_exit(struct nozomi *dc) | |||
1501 | 1501 | ||
1502 | DBG1(" "); | 1502 | DBG1(" "); |
1503 | 1503 | ||
1504 | for (i = 0; i < MAX_PORT; ++i) { | 1504 | for (i = 0; i < MAX_PORT; ++i) |
1505 | struct tty_struct *tty = tty_port_tty_get(&dc->port[i].port); | 1505 | tty_port_tty_hangup(&dc->port[i].port, false); |
1506 | if (tty && list_empty(&tty->hangup_work.entry)) | 1506 | |
1507 | tty_hangup(tty); | ||
1508 | tty_kref_put(tty); | ||
1509 | } | ||
1510 | /* Racy below - surely should wait for scheduled work to be done or | 1507 | /* Racy below - surely should wait for scheduled work to be done or |
1511 | complete off a hangup method ? */ | 1508 | complete off a hangup method ? */ |
1512 | while (dc->open_ttys) | 1509 | while (dc->open_ttys) |