Forráskód Böngészése

[SERIAL] Fix matching of MMIO ports

The function uart_match_port() incorrectly compares the ioremap'd
virtual addresses of ports instead of the physical address to find
duplicate ports for MMIO based UARTs. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Benjamin Herrenschmidt 19 éve
szülő
commit
1624f00334
1 módosított fájl, 1 hozzáadás és 1 törlés
  1. 1 1
      drivers/serial/serial_core.c

+ 1 - 1
drivers/serial/serial_core.c

@@ -2307,7 +2307,7 @@ int uart_match_port(struct uart_port *port1, struct uart_port *port2)
 		return (port1->iobase == port2->iobase) &&
 		       (port1->hub6   == port2->hub6);
 	case UPIO_MEM:
-		return (port1->membase == port2->membase);
+		return (port1->mapbase == port2->mapbase);
 	}
 	return 0;
 }