diff options
-rw-r--r-- | drivers/tty/serial/8250/8250_core.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 0cf9b85901dc..bd06ab790c64 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c | |||
@@ -2253,7 +2253,7 @@ int serial8250_do_startup(struct uart_port *port) | |||
2253 | is variable. So, let's just don't test if we receive | 2253 | is variable. So, let's just don't test if we receive |
2254 | TX irq. This way, we'll never enable UART_BUG_TXEN. | 2254 | TX irq. This way, we'll never enable UART_BUG_TXEN. |
2255 | */ | 2255 | */ |
2256 | if (skip_txen_test || up->port.flags & UPF_NO_TXEN_TEST) | 2256 | if (up->port.flags & UPF_NO_TXEN_TEST) |
2257 | goto dont_test_tx_en; | 2257 | goto dont_test_tx_en; |
2258 | 2258 | ||
2259 | /* | 2259 | /* |
@@ -3196,6 +3196,9 @@ serial8250_register_ports(struct uart_driver *drv, struct device *dev) | |||
3196 | 3196 | ||
3197 | up->port.dev = dev; | 3197 | up->port.dev = dev; |
3198 | 3198 | ||
3199 | if (skip_txen_test) | ||
3200 | up->port.flags |= UPF_NO_TXEN_TEST; | ||
3201 | |||
3199 | if (up->port.flags & UPF_FIXED_TYPE) | 3202 | if (up->port.flags & UPF_FIXED_TYPE) |
3200 | serial8250_init_fixed_type_port(up, up->port.type); | 3203 | serial8250_init_fixed_type_port(up, up->port.type); |
3201 | 3204 | ||
@@ -3663,6 +3666,9 @@ int serial8250_register_8250_port(struct uart_8250_port *up) | |||
3663 | if (up->port.dev) | 3666 | if (up->port.dev) |
3664 | uart->port.dev = up->port.dev; | 3667 | uart->port.dev = up->port.dev; |
3665 | 3668 | ||
3669 | if (skip_txen_test) | ||
3670 | uart->port.flags |= UPF_NO_TXEN_TEST; | ||
3671 | |||
3666 | if (up->port.flags & UPF_FIXED_TYPE) | 3672 | if (up->port.flags & UPF_FIXED_TYPE) |
3667 | serial8250_init_fixed_type_port(uart, up->port.type); | 3673 | serial8250_init_fixed_type_port(uart, up->port.type); |
3668 | 3674 | ||
@@ -3728,6 +3734,8 @@ void serial8250_unregister_port(int line) | |||
3728 | uart_remove_one_port(&serial8250_reg, &uart->port); | 3734 | uart_remove_one_port(&serial8250_reg, &uart->port); |
3729 | if (serial8250_isa_devs) { | 3735 | if (serial8250_isa_devs) { |
3730 | uart->port.flags &= ~UPF_BOOT_AUTOCONF; | 3736 | uart->port.flags &= ~UPF_BOOT_AUTOCONF; |
3737 | if (skip_txen_test) | ||
3738 | uart->port.flags |= UPF_NO_TXEN_TEST; | ||
3731 | uart->port.type = PORT_UNKNOWN; | 3739 | uart->port.type = PORT_UNKNOWN; |
3732 | uart->port.dev = &serial8250_isa_devs->dev; | 3740 | uart->port.dev = &serial8250_isa_devs->dev; |
3733 | uart->capabilities = 0; | 3741 | uart->capabilities = 0; |