diff options
author | Alan Cox <alan@redhat.com> | 2009-01-02 14:48:39 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-02 19:19:42 +0100 |
commit | fba85e013f106a44e91ef5edec899fc56a7e61ee (patch) | |
tree | 88f138b0a396c51b8de403526f6a9638bc46d744 /drivers/char/tty_port.c | |
parent | tty: kref the rocket driver (diff) | |
download | linux-fba85e013f106a44e91ef5edec899fc56a7e61ee.tar.xz linux-fba85e013f106a44e91ef5edec899fc56a7e61ee.zip |
tty: use port methods for the rocket driver
Now we have our ducks in order we can begin switching to the port
operations
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/tty_port.c')
-rw-r--r-- | drivers/char/tty_port.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/char/tty_port.c b/drivers/char/tty_port.c index b580fcf629f8..9b8004c72686 100644 --- a/drivers/char/tty_port.c +++ b/drivers/char/tty_port.c @@ -286,6 +286,9 @@ int tty_port_close_start(struct tty_port *port, struct tty_struct *tty, struct f port->flags |= ASYNC_CLOSING; tty->closing = 1; spin_unlock_irqrestore(&port->lock, flags); + /* Don't block on a stalled port, just pull the chain */ + if (tty->flow_stopped) + tty_driver_flush_buffer(tty); if (port->flags & ASYNC_INITIALIZED && port->closing_wait != ASYNC_CLOSING_WAIT_NONE) tty_wait_until_sent(tty, port->closing_wait); |