Skip to content

Commit cab4d27

Browse files
author
Borislav Petkov
committed
amd64_edac: Do not falsely trigger kerneloops
An unfortunate "WARNING" in the message amd64_edac dumps when the system doesn't support DRAM ECC or ECC checking is not enabled in the BIOS used to trigger kerneloops which qualified the message as an OOPS thus misleading the users. See, e.g. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/422536 http://bugzilla.kernel.org/show_bug.cgi?id=15238 Downgrade the message level to KERN_NOTICE and fix the formulation. Cc: stable@kernel.org # .32.x Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> Acked-by: Doug Thompson <dougthompson@xmission.com>
1 parent e28cab4 commit cab4d27

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

drivers/edac/amd64_edac.c

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2658,10 +2658,11 @@ static void amd64_restore_ecc_error_reporting(struct amd64_pvt *pvt)
26582658
* the memory system completely. A command line option allows to force-enable
26592659
* hardware ECC later in amd64_enable_ecc_error_reporting().
26602660
*/
2661-
static const char *ecc_warning =
2662-
"WARNING: ECC is disabled by BIOS. Module will NOT be loaded.\n"
2663-
" Either Enable ECC in the BIOS, or set 'ecc_enable_override'.\n"
2664-
" Also, use of the override can cause unknown side effects.\n";
2661+
static const char *ecc_msg =
2662+
"ECC disabled in the BIOS or no ECC capability, module will not load.\n"
2663+
" Either enable ECC checking or force module loading by setting "
2664+
"'ecc_enable_override'.\n"
2665+
" (Note that use of the override may cause unknown side effects.)\n";
26652666

26662667
static int amd64_check_ecc_enabled(struct amd64_pvt *pvt)
26672668
{
@@ -2673,21 +2674,21 @@ static int amd64_check_ecc_enabled(struct amd64_pvt *pvt)
26732674

26742675
ecc_enabled = !!(value & K8_NBCFG_ECC_ENABLE);
26752676
if (!ecc_enabled)
2676-
amd64_printk(KERN_WARNING, "This node reports that Memory ECC "
2677+
amd64_printk(KERN_NOTICE, "This node reports that Memory ECC "
26772678
"is currently disabled, set F3x%x[22] (%s).\n",
26782679
K8_NBCFG, pci_name(pvt->misc_f3_ctl));
26792680
else
26802681
amd64_printk(KERN_INFO, "ECC is enabled by BIOS.\n");
26812682

26822683
nb_mce_en = amd64_nb_mce_bank_enabled_on_node(pvt->mc_node_id);
26832684
if (!nb_mce_en)
2684-
amd64_printk(KERN_WARNING, "NB MCE bank disabled, set MSR "
2685+
amd64_printk(KERN_NOTICE, "NB MCE bank disabled, set MSR "
26852686
"0x%08x[4] on node %d to enable.\n",
26862687
MSR_IA32_MCG_CTL, pvt->mc_node_id);
26872688

26882689
if (!ecc_enabled || !nb_mce_en) {
26892690
if (!ecc_enable_override) {
2690-
amd64_printk(KERN_WARNING, "%s", ecc_warning);
2691+
amd64_printk(KERN_NOTICE, "%s", ecc_msg);
26912692
return -ENODEV;
26922693
}
26932694
ecc_enable_override = 0;

0 commit comments

Comments
 (0)