Re: 2.6.3-rc3 serial console woes

Bjorn Helgaas
2004-02-16T19:08:05Z

On Monday 16 February 2004 6:14 am, Keith Owens wrote:
> Between 2.6.3-rc2 and 2.6.3-rc3, the serial console initialisation
> changed, due to this patch :-
>
> http://linux.bkbits.net:8080/linux-2.5/cset@1.1653?nav=index.html|ChangeSet@-7d
>
> Now the serial console is not initialised until a long way into the
> boot, just after the disks are probed. This makes it impossible to use
> a kernel debugger such as kdb or kgdb over a serial console during
> device initialisation.

Hmm.... I suspect the problem is that serial8250_isa_init_ports()
doesn't initialize port->type for the ports in SERIAL_PORT_DFNS,
so we fail the console setup.

Does the attached patch make it work like it used to? ISTR that
Russell didn't really like testing port->ops, but I can't remember
why, and I don't see anything better.

===== drivers/serial/8250.c 1.44 vs edited =====
--- 1.44/drivers/serial/8250.c Fri Feb 13 08:19:33 2004
+++ edited/drivers/serial/8250.c Mon Feb 16 12:03:06 2004
@@ -1976,7 +1976,7 @@
if (co->index >= UART_NR)
co->index = 0;
port = &serial8250_ports[co->index].port;
- if (port->type == PORT_UNKNOWN)
+ if (!port->ops)
return -ENODEV;

/*