Subject: au1000 pci_ops clear errors

From: Bruno Randolf <[email-masked]>
Date: Wed, 24 Aug 2005 19:05:44 +0200

hello!

what do you think about the following patch to clear PCI errors in config 
accesses on the au1000 CPUs? if an error like "parity error" occurred and the 
error is not cleared, all following config accesses will be reported as 
errors (0xffffffff) too.

the diff is against 2.4.27 but the same thing is missing in 2.6 as well, i 
believe.

greetings,
bruno

--- linux/arch/mips/au1000/common/pci_ops.c.orig        2005-08-24 
17:36:25.000000000 +0200
+++ linux/arch/mips/au1000/common/pci_ops.c     2005-08-24 17:37:38.000000000 
+0200
@@ -259,7 +259,11 @@
                *data = 0xffffffff;
                error = -1;
        } else if ((status >> 28) & 0xf) {
-               DBG("PCI ERR detected: status %x\n", status);
+               DBG("PCI ERR detected: device %d, status %x\n", device, 
((status >> 28) & 0xf));
+
+               /* clear errors */
+               au_writel(status & 0xf000ffff, Au1500_PCI_STATCMD);
+
                *data = 0xffffffff;
                error = -1;
        }