[POWERPC] EEH: modify order of EEH state checking
authorLinas Vepstas <linas@austin.ibm.com>
Mon, 19 Mar 2007 19:51:00 +0000 (14:51 -0500)
committerPaul Mackerras <paulus@samba.org>
Thu, 22 Mar 2007 11:52:49 +0000 (22:52 +1100)
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>
arch/powerpc/platforms/pseries/eeh.c

index 6cedbc002e0ffb3a2f4449b73d1388336cb2a327..3d9f5c1113aad2836136813e347a8e3bde82ed71 100644 (file)
@@ -367,6 +367,14 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
                goto dn_unlock;
        }
 
+       /* Note that config-io to empty slots may fail;
+        * they are empty when they don't have children. */
+       if ((rets[0] == 5) && (dn->child == NULL)) {
+               false_positives++;
+               rc = 0;
+               goto dn_unlock;
+       }
+
        /* If EEH is not supported on this device, punt. */
        if (rets[1] != 1) {
                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)
                goto dn_unlock;
        }
 
-       /* Note that config-io to empty slots may fail;
-        * we recognize empty because they don't have children. */
-       if ((rets[0] == 5) && (dn->child == NULL)) {
-               false_positives++;
-               rc = 0;
-               goto dn_unlock;
-       }
-
        slot_resets++;
  
        /* Avoid repeated reports of this failure, including problems