--- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c @@ -660,6 +660,8 @@ static void serial_out_override(struct u } #endif +static struct omap_uart_state statebuf[4]; + void __init omap_serial_early_init(void) { int i = 0; @@ -675,9 +677,9 @@ void __init omap_serial_early_init(void) if (!oh) break; - uart = kzalloc(sizeof(struct omap_uart_state), GFP_KERNEL); - if (WARN_ON(!uart)) + if (WARN_ON(i >= ARRAY_SIZE(statebuf))) return; + uart = &statebuf[i]; uart->oh = oh; uart->num = i++;