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 /drivers/tty/rocket.c | |
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 'drivers/tty/rocket.c')
-rw-r--r-- | drivers/tty/rocket.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tty/rocket.c b/drivers/tty/rocket.c index 9700d34b20a3..e42009a00529 100644 --- a/drivers/tty/rocket.c +++ b/drivers/tty/rocket.c | |||
@@ -673,6 +673,7 @@ static void init_r_port(int board, int aiop, int chan, struct pci_dev *pci_dev) | |||
673 | if (sInitChan(ctlp, &info->channel, aiop, chan) == 0) { | 673 | if (sInitChan(ctlp, &info->channel, aiop, chan) == 0) { |
674 | printk(KERN_ERR "RocketPort sInitChan(%d, %d, %d) failed!\n", | 674 | printk(KERN_ERR "RocketPort sInitChan(%d, %d, %d) failed!\n", |
675 | board, aiop, chan); | 675 | board, aiop, chan); |
676 | tty_port_destroy(&info->port); | ||
676 | kfree(info); | 677 | kfree(info); |
677 | return; | 678 | return; |
678 | } | 679 | } |
@@ -1757,7 +1758,7 @@ static void rp_flush_buffer(struct tty_struct *tty) | |||
1757 | 1758 | ||
1758 | #ifdef CONFIG_PCI | 1759 | #ifdef CONFIG_PCI |
1759 | 1760 | ||
1760 | static struct pci_device_id __devinitdata __used rocket_pci_ids[] = { | 1761 | static struct pci_device_id __used rocket_pci_ids[] = { |
1761 | { PCI_DEVICE(PCI_VENDOR_ID_RP, PCI_ANY_ID) }, | 1762 | { PCI_DEVICE(PCI_VENDOR_ID_RP, PCI_ANY_ID) }, |
1762 | { } | 1763 | { } |
1763 | }; | 1764 | }; |
@@ -2357,6 +2358,7 @@ static void rp_cleanup_module(void) | |||
2357 | for (i = 0; i < MAX_RP_PORTS; i++) | 2358 | for (i = 0; i < MAX_RP_PORTS; i++) |
2358 | if (rp_table[i]) { | 2359 | if (rp_table[i]) { |
2359 | tty_unregister_device(rocket_driver, i); | 2360 | tty_unregister_device(rocket_driver, i); |
2361 | tty_port_destroy(&rp_table[i]->port); | ||
2360 | kfree(rp_table[i]); | 2362 | kfree(rp_table[i]); |
2361 | } | 2363 | } |
2362 | 2364 | ||