[PATCH] edac/cell: Fix incorrect edac_mode in csrow causing oops

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed Oct 15 15:40:19 EST 2008


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 at kernel.crashing.org>
---

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

--- 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",



More information about the Linuxppc-dev mailing list