Patchwork edac/cell: Fix incorrect edac_mode in csrow causing oops

login
register
mail settings
Submitter Benjamin Herrenschmidt
Date Oct. 15, 2008, 4:40 a.m.
Message ID <20081015044057.584D6DDDFB@ozlabs.org>
Download mbox | patch
Permalink /patch/4564/
State Accepted
Commit 3b274f44d2ca05f719fe39947b6a5293a2dbd8fd
Headers show

Comments

Benjamin Herrenschmidt - Oct. 15, 2008, 4:40 a.m.
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>
---

 drivers/edac/cell_edac.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

--- linux-work.orig/drivers/edac/cell_edac.c	2008-10-15 15:35:21.000000000 +1100
+++ linux-work/drivers/edac/cell_edac.c	2008-10-15 15:35:29.000000000 +1100
@@ -142,7 +142,7 @@  static void __devinit cell_edac_init_csr
 		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",