]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.32.9/amd64_edac-do-not-falsely-trigger-kerneloops.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.32.9 / amd64_edac-do-not-falsely-trigger-kerneloops.patch
1 From cab4d27764d5a8654212b3e96eb0ae793aec5b94 Mon Sep 17 00:00:00 2001
2 From: Borislav Petkov <borislav.petkov@amd.com>
3 Date: Thu, 11 Feb 2010 17:15:57 +0100
4 Subject: amd64_edac: Do not falsely trigger kerneloops
5
6 From: Borislav Petkov <borislav.petkov@amd.com>
7
8 commit cab4d27764d5a8654212b3e96eb0ae793aec5b94 upstream.
9
10 An unfortunate "WARNING" in the message amd64_edac dumps when the system
11 doesn't support DRAM ECC or ECC checking is not enabled in the BIOS
12 used to trigger kerneloops which qualified the message as an OOPS thus
13 misleading the users. See, e.g.
14
15 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/422536
16 http://bugzilla.kernel.org/show_bug.cgi?id=15238
17
18 Downgrade the message level to KERN_NOTICE and fix the formulation.
19
20 Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
21 Acked-by: Doug Thompson <dougthompson@xmission.com>
22 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
23
24 ---
25 drivers/edac/amd64_edac.c | 15 ++++++++-------
26 1 file changed, 8 insertions(+), 7 deletions(-)
27
28 --- a/drivers/edac/amd64_edac.c
29 +++ b/drivers/edac/amd64_edac.c
30 @@ -2801,10 +2801,11 @@ static void amd64_restore_ecc_error_repo
31 * the memory system completely. A command line option allows to force-enable
32 * hardware ECC later in amd64_enable_ecc_error_reporting().
33 */
34 -static const char *ecc_warning =
35 - "WARNING: ECC is disabled by BIOS. Module will NOT be loaded.\n"
36 - " Either Enable ECC in the BIOS, or set 'ecc_enable_override'.\n"
37 - " Also, use of the override can cause unknown side effects.\n";
38 +static const char *ecc_msg =
39 + "ECC disabled in the BIOS or no ECC capability, module will not load.\n"
40 + " Either enable ECC checking or force module loading by setting "
41 + "'ecc_enable_override'.\n"
42 + " (Note that use of the override may cause unknown side effects.)\n";
43
44 static int amd64_check_ecc_enabled(struct amd64_pvt *pvt)
45 {
46 @@ -2819,7 +2820,7 @@ static int amd64_check_ecc_enabled(struc
47
48 ecc_enabled = !!(value & K8_NBCFG_ECC_ENABLE);
49 if (!ecc_enabled)
50 - amd64_printk(KERN_WARNING, "This node reports that Memory ECC "
51 + amd64_printk(KERN_NOTICE, "This node reports that Memory ECC "
52 "is currently disabled, set F3x%x[22] (%s).\n",
53 K8_NBCFG, pci_name(pvt->misc_f3_ctl));
54 else
55 @@ -2827,13 +2828,13 @@ static int amd64_check_ecc_enabled(struc
56
57 nb_mce_en = amd64_nb_mce_bank_enabled_on_node(pvt->mc_node_id);
58 if (!nb_mce_en)
59 - amd64_printk(KERN_WARNING, "NB MCE bank disabled, set MSR "
60 + amd64_printk(KERN_NOTICE, "NB MCE bank disabled, set MSR "
61 "0x%08x[4] on node %d to enable.\n",
62 MSR_IA32_MCG_CTL, pvt->mc_node_id);
63
64 if (!ecc_enabled || !nb_mce_en) {
65 if (!ecc_enable_override) {
66 - amd64_printk(KERN_WARNING, "%s", ecc_warning);
67 + amd64_printk(KERN_NOTICE, "%s", ecc_msg);
68 return -ENODEV;
69 }
70 ecc_enable_override = 0;