diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-29 13:17:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-29 13:17:52 -0400 |
commit | 37cc6bb8f28aee667835a97b4d00e6a20e0e4b62 (patch) | |
tree | 86c8ad77595af96b5c9123a8664448956beb59a8 /drivers/tty/serial/serial_core.c | |
parent | 9af6f26a1a7f152f7736c0c20247eef0ab3df190 (diff) | |
parent | d0f4bce2bce7e998abc906f3590e9032af7a41ba (diff) |
Merge tag 'tty-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver fixes from Greg KH:
"Here are a number of small tty and serial driver fixes for reported
issues for 4.9-rc3. Nothing major, but they do resolve a bunch of
problems with the tty core changes that are in 4.9-rc1, and finally
the atmel serial driver is back working properly.
All have been in linux-next with no reported issues"
* tag 'tty-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
tty: serial_core: fix NULL struct tty pointer access in uart_write_wakeup
tty: serial_core: Fix serial console crash on port shutdown
tty/serial: at91: fix hardware handshake on Atmel platforms
vt: clear selection before resizing
sc16is7xx: always write state when configuring GPIO as an output
sh-sci: document R8A7743/5 support
tty: serial: 8250: 8250_core: NXP SC16C2552 workaround
tty: limit terminal size to 4M chars
tty: serial: fsl_lpuart: Fix Tx DMA edge case
serial: 8250_lpss: enable MSI for sure
serial: core: fix console problems on uart_close
serial: 8250_uniphier: fix clearing divisor latch access bit
serial: 8250_uniphier: fix more unterminated string
serial: pch_uart: add terminate entry for dmi_system_id tables
devicetree: bindings: uart: Add new compatible string for ZynqMP
serial: xuartps: Add new compatible string for ZynqMP
serial: SERIAL_STM32 should depend on HAS_DMA
serial: stm32: Fix comparisons with undefined register
tty: vt, fix bogus division in csi_J
Diffstat (limited to 'drivers/tty/serial/serial_core.c')
-rw-r--r-- | drivers/tty/serial/serial_core.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index 6e4f63627479..f2303f390345 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c | |||
@@ -111,7 +111,7 @@ void uart_write_wakeup(struct uart_port *port) | |||
111 | * closed. No cookie for you. | 111 | * closed. No cookie for you. |
112 | */ | 112 | */ |
113 | BUG_ON(!state); | 113 | BUG_ON(!state); |
114 | tty_wakeup(state->port.tty); | 114 | tty_port_tty_wakeup(&state->port); |
115 | } | 115 | } |
116 | 116 | ||
117 | static void uart_stop(struct tty_struct *tty) | 117 | static void uart_stop(struct tty_struct *tty) |
@@ -632,7 +632,7 @@ static void uart_flush_buffer(struct tty_struct *tty) | |||
632 | if (port->ops->flush_buffer) | 632 | if (port->ops->flush_buffer) |
633 | port->ops->flush_buffer(port); | 633 | port->ops->flush_buffer(port); |
634 | uart_port_unlock(port, flags); | 634 | uart_port_unlock(port, flags); |
635 | tty_wakeup(tty); | 635 | tty_port_tty_wakeup(&state->port); |
636 | } | 636 | } |
637 | 637 | ||
638 | /* | 638 | /* |
@@ -2746,8 +2746,6 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport) | |||
2746 | uport->cons = drv->cons; | 2746 | uport->cons = drv->cons; |
2747 | uport->minor = drv->tty_driver->minor_start + uport->line; | 2747 | uport->minor = drv->tty_driver->minor_start + uport->line; |
2748 | 2748 | ||
2749 | port->console = uart_console(uport); | ||
2750 | |||
2751 | /* | 2749 | /* |
2752 | * If this port is a console, then the spinlock is already | 2750 | * If this port is a console, then the spinlock is already |
2753 | * initialised. | 2751 | * initialised. |
@@ -2761,6 +2759,8 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport) | |||
2761 | 2759 | ||
2762 | uart_configure_port(drv, state, uport); | 2760 | uart_configure_port(drv, state, uport); |
2763 | 2761 | ||
2762 | port->console = uart_console(uport); | ||
2763 | |||
2764 | num_groups = 2; | 2764 | num_groups = 2; |
2765 | if (uport->attr_group) | 2765 | if (uport->attr_group) |
2766 | num_groups++; | 2766 | num_groups++; |