[patch] serial: compare mapbase and not membase in find_port

From: Gyorgy Jeney
Date: Sun Jan 01 2006 - 10:11:25 EST


From: Gyorgy Jeney

If the 8250_early driver uses bt_ioremap, find_port() is unable to find the
correct device since the address returned by ioremap is different to that
returned by bt_ioremap for the same address. Since no more than one device
occupies the same physical address, compareing the physical addresses should
be safe.

Signed-off-by: Gyorgy Jeney <nog.lkml@xxxxxxxxx>

nog.

--- drivers/serial/8250.c 2005-10-28 02:02:08.000000000 +0200
+++ ../../linux-2.6.14/drivers/serial/8250.c 2006-01-01 10:27:39.000000000 +0100
@@ -2229,7 +2229,7 @@ static int __init find_port(struct uart_
port = &serial8250_ports[line].port;
if (p->iotype == port->iotype &&
p->iobase == port->iobase &&
- p->membase == port->membase)
+ p->mapbase == port->mapbase)
return line;
}
return -ENODEV;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/