Re: [PATCH v4] serial: 8250: Fix autoconfig_irq() to avoid race conditions
From: Thomas Gleixner <hidden>
Date: 2015-08-17 19:23:21
Also in:
lkml
From: Thomas Gleixner <hidden>
Date: 2015-08-17 19:23:21
Also in:
lkml
On Mon, 17 Aug 2015, Taichi Kageyama wrote:
diff --git tty-next.org/drivers/tty/serial/8250/8250_port.c tty-next.work/drivers/tty/serial/8250/8250_port.c index 54e6c8d..9300b59 100644 --- tty-next.org/drivers/tty/serial/8250/8250_port.c +++ tty-next.work/drivers/tty/serial/8250/8250_port.c@@ -1238,6 +1238,9 @@ static void autoconfig_irq(struct uart_8250_port *up) inb_p(ICP); } + if (uart_console(port)) + console_lock(); + /* forget possible initially masked and pending IRQ */ probe_irq_off(probe_irq_on()); save_mcr = serial_in(up, UART_MCR);@@ -1269,6 +1272,9 @@ static void autoconfig_irq(struct uart_8250_port *up) if (port->flags & UPF_FOURPORT) outb_p(save_ICP, ICP); + if (uart_console(port)) + console_unlock(); + port->irq = (irq > 0) ? irq : 0; }
Reviewed-by: Thomas Gleixner <redacted>