瀏覽代碼

powerpc: panic if we can't instantiate RTAS

I had to debug a strange situation where all manner of things were
failing. SMT threads, storage and network were all completely broken.

The root cause was we couldn't find enough memory to instantiate RTAS -
this was a network install so the initrd was huge.

Instead of limping along and failing in mysterious ways we should just
panic up front if RTAS exists and we can't allocate space for it.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Anton Blanchard 13 年之前
父節點
當前提交
6d1e2c6c1a
共有 1 個文件被更改,包括 2 次插入4 次删除
  1. 2 4
      arch/powerpc/kernel/prom_init.c

+ 2 - 4
arch/powerpc/kernel/prom_init.c

@@ -1579,10 +1579,8 @@ static void __init prom_instantiate_rtas(void)
 		return;
 		return;
 
 
 	base = alloc_down(size, PAGE_SIZE, 0);
 	base = alloc_down(size, PAGE_SIZE, 0);
-	if (base == 0) {
-		prom_printf("RTAS allocation failed !\n");
-		return;
-	}
+	if (base == 0)
+		prom_panic("Could not allocate memory for RTAS\n");
 
 
 	rtas_inst = call_prom("open", 1, 1, ADDR("/rtas"));
 	rtas_inst = call_prom("open", 1, 1, ADDR("/rtas"));
 	if (!IHANDLE_VALID(rtas_inst)) {
 	if (!IHANDLE_VALID(rtas_inst)) {