Skip to contentSkip to conversation

serial: add parameter to force skipping the test for the TXEN bug

PATCH New [email protected] 1 participant 1 message Aug 6, 2009 TTY layer and serial drivers

lore
Share & tools
lore
#0 lore raw

PATCH 5/5 serial: add parameter to force skipping the test for the TXEN bug

From: Chuck Ebbert <[email protected]>

Allow users to force skipping the TXEN test at init time. Applies to all serial ports. Intended for debugging only.

There is a blacklist for devices where we need to skip the test but the list is not complete. This lets users force skipping the test so we can determine if they need to be added to the list.

Some HP machines with weird serial consoles have this problem and there may be more.

---

 drivers/serial/8250.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/serial/8250.c renamed from drivers/serial/8250.c~serial-add-parameter-to-force-skipping-the-test-for-the-txen-bug +6 -1
diff -puN drivers/serial/8250.c~serial-add-parameter-to-force-skipping-the-test-for-the-txen-bug drivers/serial/8250.c
@@ -64,6 +64,8 @@ static int serial_index(struct uart_port
 	return (serial8250_reg.minor - 64) + port->line;
 }
 
+static unsigned int skip_txen_test; /* force skip of txen test at init time */
+
 /*
  * Debugging.
  */
@@ -2108,7 +2110,7 @@ static int serial8250_startup(struct uar
 	   is variable. So, let's just don't test if we receive
 	   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;
 
 	/*
@@ -3248,6 +3250,9 @@ MODULE_PARM_DESC(share_irqs, "Share IRQs
 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_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
 module_param_array(probe_rsa, ulong, &probe_rsa_count, 0444);
 MODULE_PARM_DESC(probe_rsa, "Probe I/O ports for RSA");

_