Index: linux-3.1/arch/arm/mach-omap2/serial.c =================================================================== --- linux-3.1.orig/arch/arm/mach-omap2/serial.c 2011-10-30 00:48:53.917039979 +0200 +++ linux-3.1/arch/arm/mach-omap2/serial.c 2011-10-30 00:48:57.341037539 +0200 @@ -660,6 +660,8 @@ static void serial_out_override(struct u } #endif +static struct omap_uart_state statebuf[4]; + static int __init omap_serial_early_init(void) { int i = 0; @@ -675,9 +677,9 @@ static int __init omap_serial_early_init if (!oh) break; - uart = kzalloc(sizeof(struct omap_uart_state), GFP_KERNEL); - if (WARN_ON(!uart)) + if (WARN_ON(i >= ARRAY_SIZE(statebuf))) return -ENODEV; + uart = &statebuf[i]; uart->oh = oh; uart->num = i++;