24 lines
		
	
	
		
			553 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			553 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- 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];
 | 
						|
+
 | 
						|
 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++;
 |