]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[PATCH] ppc64: bugfix: don't silently ignore PCI errors
authorLinas Vepstas <linas@linas.org>
Fri, 4 Nov 2005 00:49:45 +0000 (18:49 -0600)
committerPaul Mackerras <paulus@samba.org>
Thu, 10 Nov 2005 00:35:49 +0000 (11:35 +1100)
10-EEH-enable-bugfix.patch

Bugfix: With the curent linux-2.6.14-rc2-git6, EEH errors are
ignored because thier detection requires an unused, uninitialized
flag to be set.  This patch removes the unused flag.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/ppc64/kernel/eeh.c
include/asm-ppc64/pci-bridge.h

index 0c52c2de92e02b43d6dbee63c98878c77bb76bfa..9df1d5018363e9d32494cd8b02407638d2ab576c 100644 (file)
@@ -631,11 +631,12 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
        pdn = PCI_DN(dn);
 
        /* Access to IO BARs might get this far and still not want checking. */
-       if (!pdn->eeh_capable || !(pdn->eeh_mode & EEH_MODE_SUPPORTED) ||
+       if (!(pdn->eeh_mode & EEH_MODE_SUPPORTED) ||
            pdn->eeh_mode & EEH_MODE_NOCHECK) {
                __get_cpu_var(ignored_check)++;
 #ifdef DEBUG
-               printk ("EEH:ignored check for %s %s\n", pci_name (dev), dn->full_name);
+               printk ("EEH:ignored check (%x) for %s %s\n", 
+                       pdn->eeh_mode, pci_name (dev), dn->full_name);
 #endif
                return 0;
        }
index 60cf8c838af0df1e36e6d68fdd9c3c3d5c6616af..efbdaece0cf022fdd10bb2228368448240836af6 100644 (file)
@@ -63,7 +63,6 @@ struct pci_dn {
        int     devfn;                  /* for pci devices */
        int     eeh_mode;               /* See eeh.h for possible EEH_MODEs */
        int     eeh_config_addr;
-       int     eeh_capable;            /* from firmware */
        int     eeh_check_count;        /* # times driver ignored error */
        int     eeh_freeze_count;       /* # times this device froze up. */
        int     eeh_is_bridge;          /* device is pci-to-pci bridge */