edac cell: fix incorrect edac_mode
authorBenjamin Herrenschmidt <[email protected]>
Sun, 19 Oct 2008 03:28:35 +0000 (20:28 -0700)
committerLinus Torvalds <[email protected]>
Mon, 20 Oct 2008 15:52:40 +0000 (08:52 -0700)
The cell_edac driver is setting the edac_mode field of the csrow's to an
incorrect value, causing the sysfs show routine for that field to go out
of an array bound and Oopsing the kernel when used.

Signed-off-by: Benjamin Herrenschmidt <[email protected]>
Signed-off-by: Doug Thompson <[email protected]>
Cc: <[email protected]> [2.6.27.x, 2.6.26.x. 2.6.25.x]
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/edac/cell_edac.c

index 0e024fe2d8c486ce8ab0bddca34b91e8b9f53165..887072f5dc8b8b703db223751a4bd47b6631e5f8 100644 (file)
@@ -142,7 +142,7 @@ static void __devinit cell_edac_init_csrows(struct mem_ctl_info *mci)
                csrow->nr_pages = (r.end - r.start + 1) >> PAGE_SHIFT;
                csrow->last_page = csrow->first_page + csrow->nr_pages - 1;
                csrow->mtype = MEM_XDR;
-               csrow->edac_mode = EDAC_FLAG_EC | EDAC_FLAG_SECDED;
+               csrow->edac_mode = EDAC_SECDED;
                dev_dbg(mci->dev,
                        "Initialized on node %d, chanmask=0x%x,"
                        " first_page=0x%lx, nr_pages=0x%x\n",