From 0241229c95f83d55c7048e36a20a673bd49f9328 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 15 Feb 2013 08:45:00 -0300 Subject: [PATCH] --- yaml --- r: 359986 b: refs/heads/master c: 5ee726db521fddf991f261e5c45e04a7d2bf1bc1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/edac/ghes_edac.c | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 026ca2f4db11..219ff3ae65b4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 32fa1f53c2daf9f55f17ff883b4297f86095b09c +refs/heads/master: 5ee726db521fddf991f261e5c45e04a7d2bf1bc1 diff --git a/trunk/drivers/edac/ghes_edac.c b/trunk/drivers/edac/ghes_edac.c index 22ac29e4733f..fb866804820c 100644 --- a/trunk/drivers/edac/ghes_edac.c +++ b/trunk/drivers/edac/ghes_edac.c @@ -287,10 +287,19 @@ int ghes_edac_register(struct ghes *ghes, struct device *dev) mci->dev_name = "ghes"; if (!fake) { - /* Fill DIMM info from DMI */ - dimm_fill.count = 0; - dimm_fill.mci = mci; - dmi_walk(ghes_edac_dmidecode, &dimm_fill); + /* + * Fill DIMM info from DMI for the memory controller #0 + * + * Keep it in blank for the other memory controllers, as + * there's no reliable way to properly credit each DIMM to + * the memory controller, as different BIOSes fill the + * DMI bank location fields on different ways + */ + if (!ghes_edac_mc_num) { + dimm_fill.count = 0; + dimm_fill.mci = mci; + dmi_walk(ghes_edac_dmidecode, &dimm_fill); + } } else { struct dimm_info *dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, 0, 0, 0);