diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2011-08-02 16:14:02 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2011-08-02 16:14:02 -0400 |
commit | 3d071cd313643cf82b1ce1ce4fdf08d63ad53964 (patch) | |
tree | 874c1683f32f07614aa123f6ca5cf6c2bd443704 /drivers/tty/tty_ldisc.c | |
parent | cf8e98d15361f8c594da00a3f7a500787fc1a426 (diff) | |
parent | 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (diff) |
Merge tag 'v3.0' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
Diffstat (limited to 'drivers/tty/tty_ldisc.c')
-rw-r--r-- | drivers/tty/tty_ldisc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c index 5d01d32e2cf0..ef925d581713 100644 --- a/drivers/tty/tty_ldisc.c +++ b/drivers/tty/tty_ldisc.c | |||
@@ -555,7 +555,7 @@ static void tty_ldisc_flush_works(struct tty_struct *tty) | |||
555 | static int tty_ldisc_wait_idle(struct tty_struct *tty) | 555 | static int tty_ldisc_wait_idle(struct tty_struct *tty) |
556 | { | 556 | { |
557 | int ret; | 557 | int ret; |
558 | ret = wait_event_interruptible_timeout(tty_ldisc_idle, | 558 | ret = wait_event_timeout(tty_ldisc_idle, |
559 | atomic_read(&tty->ldisc->users) == 1, 5 * HZ); | 559 | atomic_read(&tty->ldisc->users) == 1, 5 * HZ); |
560 | if (ret < 0) | 560 | if (ret < 0) |
561 | return ret; | 561 | return ret; |
@@ -763,6 +763,8 @@ static int tty_ldisc_reinit(struct tty_struct *tty, int ldisc) | |||
763 | if (IS_ERR(ld)) | 763 | if (IS_ERR(ld)) |
764 | return -1; | 764 | return -1; |
765 | 765 | ||
766 | WARN_ON_ONCE(tty_ldisc_wait_idle(tty)); | ||
767 | |||
766 | tty_ldisc_close(tty, tty->ldisc); | 768 | tty_ldisc_close(tty, tty->ldisc); |
767 | tty_ldisc_put(tty->ldisc); | 769 | tty_ldisc_put(tty->ldisc); |
768 | tty->ldisc = NULL; | 770 | tty->ldisc = NULL; |