diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 17:08:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 17:08:47 -0500 |
commit | c6bd5bcc4983f1a2d2f87a3769bf309482ee8c04 (patch) | |
tree | 2ff9c4496dc2258d601a1bcd82040470704dae3b /arch/um | |
parent | 8966961b31c251b854169e9886394c2a20f2cea7 (diff) | |
parent | b0ab02361167faa82198b783a8d555eb6f58901c (diff) |
Merge tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull TTY/Serial merge from Greg Kroah-Hartman:
"Here's the big tty/serial tree set of changes for 3.8-rc1.
Contained in here is a bunch more reworks of the tty port layer from
Jiri and bugfixes from Alan, along with a number of other tty and
serial driver updates by the various driver authors.
Also, Jiri has been coerced^Wconvinced to be the co-maintainer of the
TTY layer, which is much appreciated by me.
All of these have been in the linux-next tree for a while.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
Fixed up some trivial conflicts in the staging tree, due to the fwserial
driver having come in both ways (but fixed up a bit in the serial tree),
and the ioctl handling in the dgrp driver having been done slightly
differently (staging tree got that one right, and removed both
TIOCGSOFTCAR and TIOCSSOFTCAR).
* tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (146 commits)
staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer()
staging/fwserial: Remove superfluous free
staging/fwserial: Use WARN_ONCE when port table is corrupted
staging/fwserial: Destruct embedded tty_port on teardown
staging/fwserial: Fix build breakage when !CONFIG_BUG
staging: fwserial: Add TTY-over-Firewire serial driver
drivers/tty/serial/serial_core.c: clean up HIGH_BITS_OFFSET usage
staging: dgrp: dgrp_tty.c: Audit the return values of get/put_user()
staging: dgrp: dgrp_tty.c: Remove the TIOCSSOFTCAR ioctl handler from dgrp driver
serial: ifx6x60: Add modem power off function in the platform reboot process
serial: mxs-auart: unmap the scatter list before we copy the data
serial: mxs-auart: disable the Receive Timeout Interrupt when DMA is enabled
serial: max310x: Setup missing "can_sleep" field for GPIO
tty/serial: fix ifx6x60.c declaration warning
serial: samsung: add devicetree properties for non-Exynos SoCs
serial: samsung: fix potential soft lockup during uart write
tty: vt: Remove redundant null check before kfree.
tty/8250 Add check for pci_ioremap_bar failure
tty/8250 Add support for Commtech's Fastcom Async-335 and Fastcom Async-PCIe cards
tty/8250 Add XR17D15x devices to the exar_handle_irq override
...
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/drivers/chan_kern.c | 17 | ||||
-rw-r--r-- | arch/um/drivers/line.c | 2 |
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 | ||
84 | static void tty_receive_char(struct tty_struct *tty, char ch) | 84 | static 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 | ||
103 | static int open_one_chan(struct chan *chan) | 90 | static 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 | ||