[POWERPC] pseries: device node status can be "ok" or "okay"
authorLinas Vepstas <linas@austin.ibm.com>
Thu, 9 Aug 2007 23:27:00 +0000 (09:27 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 2 Oct 2007 12:09:56 +0000 (22:09 +1000)
It seems that some versions of firmware will report a device
node status as the string "okay". As we are not expecting this
string, the device node will be ignored by the EEH subsystem.
Which means EEH will not be enabled.

When EEH is not enabled, PCI errors will be converted into
Machine Check exceptions, and we'll have a very unhappy system.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/pseries/eeh.c

index b242c6c..22322b3 100644 (file)
@@ -955,7 +955,7 @@ static void *early_enable_eeh(struct device_node *dn, void *data)
        pdn->eeh_freeze_count = 0;
        pdn->eeh_false_positives = 0;
 
-       if (status && strcmp(status, "ok") != 0)
+       if (status && strncmp(status, "ok", 2) != 0)
                return NULL;    /* ignore devices with bad status */
 
        /* Ignore bad nodes. */