powerpc: panic if we can't instantiate RTAS
authorAnton Blanchard <anton@samba.org>
Mon, 14 Nov 2011 12:55:47 +0000 (12:55 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 16 Nov 2011 03:47:54 +0000 (14:47 +1100)
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>
arch/powerpc/kernel/prom_init.c

index b4fa66127495286aa6d4e7030480492f2b6bf90b..cc584865b3df537d7c50cfb2bda9d87a6ed24f85 100644 (file)
@@ -1579,10 +1579,8 @@ static void __init prom_instantiate_rtas(void)
                return;
 
        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"));
        if (!IHANDLE_VALID(rtas_inst)) {