aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries
diff options
context:
space:
mode:
authorLinas Vepstas <linas@austin.ibm.com>2007-03-19 15:51:00 -0400
committerPaul Mackerras <paulus@samba.org>2007-03-22 07:52:49 -0400
commit39d16e295966a1f0025a65eaab4cb59fe5ba8c17 (patch)
treedbf70b5bb113fcada2afcee48cec1fbe11224c12 /arch/powerpc/platforms/pseries
parente91948fd84086020072e022d5463036033d449c1 (diff)
[POWERPC] EEH: modify order of EEH state checking
Change the order in which pci error state is examined; the "capabilites" is not valid if "reset state" is 5. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries')
-rw-r--r--arch/powerpc/platforms/pseries/eeh.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c
index 6cedbc002e0..3d9f5c1113a 100644
--- a/arch/powerpc/platforms/pseries/eeh.c
+++ b/arch/powerpc/platforms/pseries/eeh.c
@@ -367,6 +367,14 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
367 goto dn_unlock; 367 goto dn_unlock;
368 } 368 }
369 369
370 /* Note that config-io to empty slots may fail;
371 * they are empty when they don't have children. */
372 if ((rets[0] == 5) && (dn->child == NULL)) {
373 false_positives++;
374 rc = 0;
375 goto dn_unlock;
376 }
377
370 /* If EEH is not supported on this device, punt. */ 378 /* If EEH is not supported on this device, punt. */
371 if (rets[1] != 1) { 379 if (rets[1] != 1) {
372 printk(KERN_WARNING "EEH: event on unsupported device, rc=%d dn=%s\n", 380 printk(KERN_WARNING "EEH: event on unsupported device, rc=%d dn=%s\n",
@@ -383,14 +391,6 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
383 goto dn_unlock; 391 goto dn_unlock;
384 } 392 }
385 393
386 /* Note that config-io to empty slots may fail;
387 * we recognize empty because they don't have children. */
388 if ((rets[0] == 5) && (dn->child == NULL)) {
389 false_positives++;
390 rc = 0;
391 goto dn_unlock;
392 }
393
394 slot_resets++; 394 slot_resets++;
395 395
396 /* Avoid repeated reports of this failure, including problems 396 /* Avoid repeated reports of this failure, including problems