edac cell: fix incorrect edac_mode

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 <benh@kernel.crashing.org>
Signed-off-by: Doug Thompson <dougthompson@xmission.com>
Cc: <stable@kernel.org>		[2.6.27.x, 2.6.26.x. 2.6.25.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Benjamin Herrenschmidt 2008-10-18 20:28:35 -07:00 committed by Linus Torvalds
parent b64fd291ac
commit 3b274f44d2

View 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->nr_pages = (r.end - r.start + 1) >> PAGE_SHIFT;
csrow->last_page = csrow->first_page + csrow->nr_pages - 1; csrow->last_page = csrow->first_page + csrow->nr_pages - 1;
csrow->mtype = MEM_XDR; csrow->mtype = MEM_XDR;
csrow->edac_mode = EDAC_FLAG_EC | EDAC_FLAG_SECDED; csrow->edac_mode = EDAC_SECDED;
dev_dbg(mci->dev, dev_dbg(mci->dev,
"Initialized on node %d, chanmask=0x%x," "Initialized on node %d, chanmask=0x%x,"
" first_page=0x%lx, nr_pages=0x%x\n", " first_page=0x%lx, nr_pages=0x%x\n",