aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/drivers/chan_kern.c17
-rw-r--r--arch/um/drivers/line.c2
2 files changed, 4 insertions, 15 deletions
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index c3bba73e4be6..e9a0abc6a32f 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 = {
83 83
84static void tty_receive_char(struct tty_struct *tty, char ch) 84static void tty_receive_char(struct tty_struct *tty, char ch)
85{ 85{
86 if (tty == NULL) 86 if (tty)
87 return; 87 tty_insert_flip_char(tty, ch, TTY_NORMAL);
88
89 if (I_IXON(tty) && !I_IXOFF(tty) && !tty->raw) {
90 if (ch == STOP_CHAR(tty)) {
91 stop_tty(tty);
92 return;
93 }
94 else if (ch == START_CHAR(tty)) {
95 start_tty(tty);
96 return;
97 }
98 }
99
100 tty_insert_flip_char(tty, ch, TTY_NORMAL);
101} 88}
102 89
103static int open_one_chan(struct chan *chan) 90static int open_one_chan(struct chan *chan)
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index fd9a15b318af..9ffc28bd4b7a 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -584,6 +584,8 @@ int register_lines(struct line_driver *line_driver,
584 printk(KERN_ERR "register_lines : can't register %s driver\n", 584 printk(KERN_ERR "register_lines : can't register %s driver\n",
585 line_driver->name); 585 line_driver->name);
586 put_tty_driver(driver); 586 put_tty_driver(driver);
587 for (i = 0; i < nlines; i++)
588 tty_port_destroy(&lines[i].port);
587 return err; 589 return err;
588 } 590 }
589 591