If CONFIG_SERIAL_8250_NR_UARTS is smaller than the array size in
asm/serial.h, we trampled on memory which wasn't ours.  Take our
big boots away by limiting the number of ports initialised to the
smaller of ...NR_UARTS and the array size.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
                up->port.ops = &serial8250_pops;
        }
 
-       for (i = 0, up = serial8250_ports; i < ARRAY_SIZE(old_serial_port);
+       for (i = 0, up = serial8250_ports;
+            i < ARRAY_SIZE(old_serial_port) && i < UART_NR;
             i++, up++) {
                up->port.iobase   = old_serial_port[i].port;
                up->port.irq      = irq_canonicalize(old_serial_port[i].irq);