Il giorno mer, 31/10/2007 alle 13.08 +0000, Ralf Baechle ha scritto: > On Tue, Oct 30, 2007 at 09:40:15PM +0100, Giuseppe Sacco wrote: [...] > > diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c > > index 3bb5d24..7caa877 100644 > > --- a/drivers/serial/serial_core.c > > +++ b/drivers/serial/serial_core.c > > @@ -2455,6 +2455,8 @@ int uart_match_port(struct uart_port *port1, struct uart_port *port2) > > case UPIO_AU: > > case UPIO_TSI: > > case UPIO_DWAPB: > > + if (port1->mapbase==0 && port2->mapbase==0) > > + return (port1->membase == port2->membase); > > This hack is only needed because ->mapbase is not initialized. Right, for a few days I tried to correctly initialise mapbase and setting UPF_IOREMAP in order to let this code calculate membase: up->port.membase = ioremap(up->port.mapbase, size); (drivers/serial/8250.c, function serial8250_request_std_resource) but maybe we can just leave mapbase == 0 and change uart_match_port() as in my patch. Any other option?