powerpc: Don't try OPAL takeover on old 970 blades
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 28 Sep 2011 20:51:46 +0000 (20:51 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 29 Sep 2011 07:04:59 +0000 (17:04 +1000)
The firmware on old 970 blades supports some kind of takeover called
"TNK takeover" which will crash if we try to probe for OPAL takeover,
so don't do it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/prom_init.c

index e96f5d0d2c78917a525500c8fd80ddf81c1fd46d..b4fa66127495286aa6d4e7030480492f2b6bf90b 100644 (file)
@@ -1313,6 +1313,16 @@ static void prom_query_opal(void)
 {
        long rc;
 
+       /* We must not query for OPAL presence on a machine that
+        * supports TNK takeover (970 blades), as this uses the same
+        * h-call with different arguments and will crash
+        */
+       if (PHANDLE_VALID(call_prom("finddevice", 1, 1,
+                                   ADDR("/tnk-memory-map")))) {
+               prom_printf("TNK takeover detected, skipping OPAL check\n");
+               return;
+       }
+
        prom_printf("Querying for OPAL presence... ");
        rc = opal_query_takeover(&RELOC(prom_opal_size),
                                 &RELOC(prom_opal_align));