|
@@ -1238,6 +1238,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
|
|
inb_p(ICP);
|
|
inb_p(ICP);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (uart_console(port))
|
|
|
|
+ console_lock();
|
|
|
|
+
|
|
/* forget possible initially masked and pending IRQ */
|
|
/* forget possible initially masked and pending IRQ */
|
|
probe_irq_off(probe_irq_on());
|
|
probe_irq_off(probe_irq_on());
|
|
save_mcr = serial_in(up, UART_MCR);
|
|
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)
|
|
if (port->flags & UPF_FOURPORT)
|
|
outb_p(save_ICP, ICP);
|
|
outb_p(save_ICP, ICP);
|
|
|
|
|
|
|
|
+ if (uart_console(port))
|
|
|
|
+ console_unlock();
|
|
|
|
+
|
|
port->irq = (irq > 0) ? irq : 0;
|
|
port->irq = (irq > 0) ? irq : 0;
|
|
}
|
|
}
|
|
|
|
|