Re: [PATCH] Fix E250 console with RSC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Marc Zyngier <maz@xxxxxxxxxxxxxxx>
Date: Sat, 05 Aug 2006 10:59:12 +0200

> Dave, please consider applying.
> 
> 	M.
> 
> This patch fixes yet another sunsab problem, when console is set to
> anything but the first port. The console framework calls
> sunsab_console_setup for each port, and we end up setting up a console
> on a not yet discovered port, which leads to an Oops. Instead, defer
> console setup until the requested port is properly initialized. Tested
> on an E250 through an RSC console.
> 
> Reported by Daniel Smolik <marvin@xxxxxxxxxx>
> 
> Signed-off-by: Marc Zyngier <maz@xxxxxxxxxxxxxxx>

Thanks for figuring this out Marc.  I'll apply your patch,
and write a similar one for sunzilog which has the same
problem potentially.

This all comes from the fact that the UART layer assosciates
consoles with the driver instead of the individual ports.
In fact, the first thing serial_core.c does when you register
a port is go:

	port->cons = drv->cons;

which just makes this assosciation even more obviously illogical.

If, instead, the driver could set port->cons itself before the
uart_add_one_port() call, we could deal with this cleanly.

You will note that the 8250.c driver and others do similar
checks in their console setup method to work around this:

	if (!port->iobase && !port->membase)
		return -ENODEV;

Anyways, thanks again Marc.
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux