summaryrefslogtreecommitdiff
path: root/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.32-n_tty-honor-opost-flag-for-echoes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.32-n_tty-honor-opost-flag-for-echoes.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.32-n_tty-honor-opost-flag-for-echoes.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.32-n_tty-honor-opost-flag-for-echoes.patch b/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.32-n_tty-honor-opost-flag-for-echoes.patch
deleted file mode 100644
index 216fca7a2..000000000
--- a/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.32-n_tty-honor-opost-flag-for-echoes.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-commit ee5aa7b8b98774f408d20a2f61f97a89ac66c29b
-Author: Joe Peterson <joe@skyrush.com>
-Date: Wed Sep 9 15:03:13 2009 -0600
-
- n_tty: honor opost flag for echoes
-
- Fixes the following bug:
-
- http://bugs.linuxbase.org/show_bug.cgi?id=2692
-
- Causes processing of echoed characters (output from the echo buffer) to
- honor the O_OPOST flag, which is consistent with the old behavior.
-
- Note that this and the next patch ("n_tty: move echoctl check and
- clean up logic") were verified together by the bug reporters, and
- the test now passes.
-
- Signed-off-by: Joe Peterson <joe@skyrush.com>
- Cc: Linux Torvalds <torvalds@linux-foundation.org>
- Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
-diff --git a/drivers/char/n_tty.c b/drivers/char/n_tty.c
-index 4e28b35..e6eeeb2 100644
---- a/drivers/char/n_tty.c
-+++ b/drivers/char/n_tty.c
-@@ -272,7 +272,8 @@ static inline int is_continuation(unsigned char c, struct tty_struct *tty)
- *
- * This is a helper function that handles one output character
- * (including special characters like TAB, CR, LF, etc.),
-- * putting the results in the tty driver's write buffer.
-+ * doing OPOST processing and putting the results in the
-+ * tty driver's write buffer.
- *
- * Note that Linux currently ignores TABDLY, CRDLY, VTDLY, FFDLY
- * and NLDLY. They simply aren't relevant in the world today.
-@@ -350,8 +351,9 @@ static int do_output_char(unsigned char c, struct tty_struct *tty, int space)
- * @c: character (or partial unicode symbol)
- * @tty: terminal device
- *
-- * Perform OPOST processing. Returns -1 when the output device is
-- * full and the character must be retried.
-+ * Output one character with OPOST processing.
-+ * Returns -1 when the output device is full and the character
-+ * must be retried.
- *
- * Locking: output_lock to protect column state and space left
- * (also, this is called from n_tty_write under the
-@@ -377,8 +379,11 @@ static int process_output(unsigned char c, struct tty_struct *tty)
- /**
- * process_output_block - block post processor
- * @tty: terminal device
-- * @inbuf: user buffer
-- * @nr: number of bytes
-+ * @buf: character buffer
-+ * @nr: number of bytes to output
-+ *
-+ * Output a block of characters with OPOST processing.
-+ * Returns the number of characters output.
- *
- * This path is used to speed up block console writes, among other
- * things when processing blocks of output data. It handles only
-@@ -605,12 +610,18 @@ static void process_echoes(struct tty_struct *tty)
- if (no_space_left)
- break;
- } else {
-- int retval;
--
-- retval = do_output_char(c, tty, space);
-- if (retval < 0)
-- break;
-- space -= retval;
-+ if (O_OPOST(tty) &&
-+ !(test_bit(TTY_HW_COOK_OUT, &tty->flags))) {
-+ int retval = do_output_char(c, tty, space);
-+ if (retval < 0)
-+ break;
-+ space -= retval;
-+ } else {
-+ if (!space)
-+ break;
-+ tty_put_char(tty, c);
-+ space -= 1;
-+ }
- cp += 1;
- nr -= 1;
- }