The test which automatically enables the backup timer on some HP machines doesn't trigger on other hardware which needs the backup timer too. This patch add a way to enable it manually (8250.use_backup_timer=1) to deal with these machines. Signed-off-by: Gerd Hoffmann Cc: Alex Williamson Cc: Kevin Stansell --- drivers/serial/8250.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) Index: vanilla-2.6.21-rc2/drivers/serial/8250.c =================================================================== --- vanilla-2.6.21-rc2.orig/drivers/serial/8250.c +++ vanilla-2.6.21-rc2/drivers/serial/8250.c @@ -52,8 +52,8 @@ * is unsafe when used on edge-triggered interrupts. */ static unsigned int share_irqs = SERIAL8250_SHARE_IRQS; - static unsigned int nr_uarts = CONFIG_SERIAL_8250_RUNTIME_UARTS; +static unsigned int use_backup_timer; /* * Debugging. @@ -1729,7 +1729,7 @@ static int serial8250_startup(struct uar * If the interrupt is not reasserted, setup a timer to * kick the UART on a regular basis. */ - if (iir & UART_IIR_NO_INT) { + if (iir & UART_IIR_NO_INT || use_backup_timer) { pr_debug("ttyS%d - using backup timer\n", port->line); up->timer.function = serial8250_backup_timeout; up->timer.data = (unsigned long)up; @@ -2805,6 +2805,9 @@ module_param(share_irqs, uint, 0644); MODULE_PARM_DESC(share_irqs, "Share IRQs with other non-8250/16x50 devices" " (unsafe)"); +module_param(use_backup_timer, uint, 0644); +MODULE_PARM_DESC(use_backup_timer, "use backup timer"); + module_param(nr_uarts, uint, 0644); MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")"); -- Gerd Hoffmann - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/