|
@@ -64,6 +64,8 @@ static int serial_index(struct uart_port *port)
|
|
return (serial8250_reg.minor - 64) + port->line;
|
|
return (serial8250_reg.minor - 64) + port->line;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static unsigned int skip_txen_test; /* force skip of txen test at init time */
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Debugging.
|
|
* Debugging.
|
|
*/
|
|
*/
|
|
@@ -2108,7 +2110,7 @@ static int serial8250_startup(struct uart_port *port)
|
|
is variable. So, let's just don't test if we receive
|
|
is variable. So, let's just don't test if we receive
|
|
TX irq. This way, we'll never enable UART_BUG_TXEN.
|
|
TX irq. This way, we'll never enable UART_BUG_TXEN.
|
|
*/
|
|
*/
|
|
- if (up->port.flags & UPF_NO_TXEN_TEST)
|
|
|
|
|
|
+ if (skip_txen_test || up->port.flags & UPF_NO_TXEN_TEST)
|
|
goto dont_test_tx_en;
|
|
goto dont_test_tx_en;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -3248,6 +3250,9 @@ MODULE_PARM_DESC(share_irqs, "Share IRQs with other non-8250/16x50 devices"
|
|
module_param(nr_uarts, uint, 0644);
|
|
module_param(nr_uarts, uint, 0644);
|
|
MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")");
|
|
MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")");
|
|
|
|
|
|
|
|
+module_param(skip_txen_test, uint, 0644);
|
|
|
|
+MODULE_PARM_DESC(skip_txen_test, "Skip checking for the TXEN bug at init time");
|
|
|
|
+
|
|
#ifdef CONFIG_SERIAL_8250_RSA
|
|
#ifdef CONFIG_SERIAL_8250_RSA
|
|
module_param_array(probe_rsa, ulong, &probe_rsa_count, 0444);
|
|
module_param_array(probe_rsa, ulong, &probe_rsa_count, 0444);
|
|
MODULE_PARM_DESC(probe_rsa, "Probe I/O ports for RSA");
|
|
MODULE_PARM_DESC(probe_rsa, "Probe I/O ports for RSA");
|