edac: i5100 fix unmask ecc bits
authorArthur Jones <ajones@riverbed.com>
Fri, 25 Jul 2008 08:49:06 +0000 (01:49 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Jul 2008 17:53:48 +0000 (10:53 -0700)
Explicitly unmask ECC errors we are interested in reporting.

Signed-off-by: Arthur Jones <ajones@riverbed.com>
Signed-off-by: Doug Thompson <dougthompson@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/edac/i5100_edac.c

index 509eec8..d85e799 100644 (file)
@@ -75,6 +75,7 @@
 #define                I5100_FERR_NF_MEM_ANY(a)  ((a) & I5100_FERR_NF_MEM_ANY_MASK)
 #define        I5100_NERR_NF_MEM       0xa4    /* MC Next Non-Fatal Errors */
 #define                I5100_NERR_NF_MEM_ANY(a)  I5100_FERR_NF_MEM_ANY(a)
+#define I5100_EMASK_MEM                0xa8    /* MC Error Mask Register */
 
 /* device 21 and 22, func 0 */
 #define I5100_MTR_0    0x154   /* Memory Technology Registers 0-3 */
@@ -709,6 +710,11 @@ static int __devinit i5100_init_one(struct pci_dev *pdev,
                goto bail;
        }
 
+       /* enable error reporting... */
+       pci_read_config_dword(pdev, I5100_EMASK_MEM, &dw);
+       dw &= ~I5100_FERR_NF_MEM_ANY_MASK;
+       pci_write_config_dword(pdev, I5100_EMASK_MEM, dw);
+
        /* device 21, func 0, Channel 0 Memory Map, Error Flag/Mask, etc... */
        ch0mm = pci_get_device_func(PCI_VENDOR_ID_INTEL,
                                    PCI_DEVICE_ID_INTEL_5100_21, 0);