[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 b242c6c34f81a6444c0226a142a5631f479eca9b..22322b35a0ffd1224e4e0c7c9f19c64a0b7bc12f 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. */