linux-next: manual merge of the tty tree with the tty.current tree

From: Stephen Rothwell
Date: Thu Nov 17 2011 - 22:30:20 EST


Hi Greg,

Today's linux-next merge of the tty tree got a conflict in
drivers/tty/tty_ldisc.c between commits df92d0561de3 ("TTY: ldisc, allow
waiting for ldisc arbitrarily long") and 0c73c08ec73d ("TTY: ldisc, wait
for ldisc infinitely in hangup") from the tty.current tree and commits
66ef27c3fd0e ("tty_ldisc: remove unnecessary negative return check for
wait_event_timeout") and 8b3ffa173ffa ("TTY: ldisc, remove some unneeded
includes") from the tty tree.

I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

diff --cc drivers/tty/tty_ldisc.c
index 8e0924f,174db3b..0000000
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@@ -24,19 -16,8 +16,9 @@@
#include <linux/device.h>
#include <linux/wait.h>
#include <linux/bitops.h>
- #include <linux/delay.h>
#include <linux/seq_file.h>
-
#include <linux/uaccess.h>
- #include <asm/system.h>
-
- #include <linux/kbd_kern.h>
- #include <linux/vt_kern.h>
- #include <linux/selection.h>
-
- #include <linux/kmod.h>
- #include <linux/nsproxy.h>
+#include <linux/ratelimit.h>

/*
* This guards the refcounted line discipline lists. The lock
@@@ -553,13 -533,11 +535,11 @@@ static void tty_ldisc_flush_works(struc
* Wait for the line discipline to become idle. The discipline must
* have been halted for this to guarantee it remains idle.
*/
-static int tty_ldisc_wait_idle(struct tty_struct *tty)
+static int tty_ldisc_wait_idle(struct tty_struct *tty, long timeout)
{
- int ret;
+ long ret;
ret = wait_event_timeout(tty_ldisc_idle,
- atomic_read(&tty->ldisc->users) == 1, 5 * HZ);
+ atomic_read(&tty->ldisc->users) == 1, timeout);
- if (ret < 0)
- return ret;
return ret > 0 ? 0 : -EBUSY;
}

Attachment: pgp00000.pgp
Description: PGP signature