Subject: Re: mmotm 2012-10-24-17-15 uploaded (uml)

From: Jiri Slaby <[email-masked]>
Date: Sat, 27 Oct 2012 14:13:03 +0200

On 10/25/2012 04:48 AM, Stephen Rothwell wrote:
> Hi Randy,
> 
> On Wed, 24 Oct 2012 18:17:59 -0700 Randy Dunlap <[email-masked]> wrote:
>>
>> uml on x86_64 defconfig:
>>
>> arch/um/drivers/chan_kern.c: In function 'tty_receive_char':
>> arch/um/drivers/chan_kern.c:89:42: error: 'struct tty_struct' has no member named 'raw'

Hmm, that code looks doing weird stuff. This patch should fix it. But
I'm not sure why it was there at all, as n_tty should take care of the
raw case perfectly right away. I cannot find any clues in the git log as
to why it was added at all. It's there like since ever.

Could anybody with working UML (I'm unable to run UML ATM, it crashes
heavily during the bootup -- after terminals are shown) check whether
the patch actually works?

thanks,
-- 
js
suse labs
>>From 3f60aa996467bf4a1bd4e62f80cb714ea6569fde Mon Sep 17 00:00:00 2001
From: Jiri Slaby <[email-masked]>
Date: Thu, 25 Oct 2012 16:40:59 +0200
Subject: [PATCH] UM:

Signed-off-by: Jiri Slaby <[email-masked]>
---
 arch/um/drivers/chan_kern.c | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index c3bba73..e9a0abc 100644
--- a/arch/um/drivers/chan_kern.c
+++ b/arch/um/drivers/chan_kern.c
@@ -83,21 +83,8 @@ static const struct chan_ops not_configged_ops = {
 
 static void tty_receive_char(struct tty_struct *tty, char ch)
 {
-	if (tty == NULL)
-		return;
-
-	if (I_IXON(tty) && !I_IXOFF(tty) && !tty->raw) {
-		if (ch == STOP_CHAR(tty)) {
-			stop_tty(tty);
-			return;
-		}
-		else if (ch == START_CHAR(tty)) {
-			start_tty(tty);
-			return;
-		}
-	}
-
-	tty_insert_flip_char(tty, ch, TTY_NORMAL);
+	if (tty)
+		tty_insert_flip_char(tty, ch, TTY_NORMAL);
 }
 
 static int open_one_chan(struct chan *chan)
-- 
1.7.12.4