]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/edac/i5100_edac.c
Merge branch 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[mv-sheeva.git] / drivers / edac / i5100_edac.c
index 2e23547b2f24ed40f85cd39bda1686e197d9d6dd..d500749464ea6038e147f25404586c1289d28b1d 100644 (file)
@@ -49,7 +49,7 @@
 #define                I5100_FERR_NF_MEM_M6ERR_MASK    (1 << 6)
 #define                I5100_FERR_NF_MEM_M5ERR_MASK    (1 << 5)
 #define                I5100_FERR_NF_MEM_M4ERR_MASK    (1 << 4)
-#define                I5100_FERR_NF_MEM_M1ERR_MASK    1
+#define                I5100_FERR_NF_MEM_M1ERR_MASK    (1 << 1)
 #define                I5100_FERR_NF_MEM_ANY_MASK      \
                        (I5100_FERR_NF_MEM_M16ERR_MASK | \
                        I5100_FERR_NF_MEM_M15ERR_MASK | \
@@ -535,23 +535,20 @@ static void i5100_read_log(struct mem_ctl_info *mci, int chan,
 static void i5100_check_error(struct mem_ctl_info *mci)
 {
        struct i5100_priv *priv = mci->pvt_info;
-       u32 dw;
-
+       u32 dw, dw2;
 
        pci_read_config_dword(priv->mc, I5100_FERR_NF_MEM, &dw);
        if (i5100_ferr_nf_mem_any(dw)) {
-               u32 dw2;
 
                pci_read_config_dword(priv->mc, I5100_NERR_NF_MEM, &dw2);
-               if (dw2)
-                       pci_write_config_dword(priv->mc, I5100_NERR_NF_MEM,
-                                              dw2);
-               pci_write_config_dword(priv->mc, I5100_FERR_NF_MEM, dw);
 
                i5100_read_log(mci, i5100_ferr_nf_mem_chan_indx(dw),
                               i5100_ferr_nf_mem_any(dw),
                               i5100_nerr_nf_mem_any(dw2));
+
+               pci_write_config_dword(priv->mc, I5100_NERR_NF_MEM, dw2);
        }
+       pci_write_config_dword(priv->mc, I5100_FERR_NF_MEM, dw);
 }
 
 /* The i5100 chipset will scrub the entire memory once, then