aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/mcheck/mce.c
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2018-06-22 11:54:27 +0200
committerThomas Gleixner <tglx@linutronix.de>2018-06-22 14:37:23 +0200
commitd5c84ef202d7db9c838448229f62d66560b951e5 (patch)
tree0f8ab59132a7a4b13ace9a908b2d0c8592eefab5 /arch/x86/kernel/cpu/mcheck/mce.c
parentx86/mce: Carve out bank scanning code (diff)
downloadlinux-dev-d5c84ef202d7db9c838448229f62d66560b951e5.tar.xz
linux-dev-d5c84ef202d7db9c838448229f62d66560b951e5.zip
x86/mce: Cleanup __mc_scan_banks()
Correct comments, improve readability, simplify. No functional changes. Signed-off-by: Borislav Petkov <bp@suse.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/20180622095428.626-7-bp@alien8.de
Diffstat (limited to 'arch/x86/kernel/cpu/mcheck/mce.c')
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index d23fcd8d11c9..888b51bef13d 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -1143,6 +1143,7 @@ static void __mc_scan_banks(struct mce *m, struct mce *final,
__clear_bit(i, toclear);
if (!test_bit(i, valid_banks))
continue;
+
if (!mce_banks[i].ctl)
continue;
@@ -1151,39 +1152,35 @@ static void __mc_scan_banks(struct mce *m, struct mce *final,
m->bank = i;
m->status = mce_rdmsrl(msr_ops.status(i));
- if ((m->status & MCI_STATUS_VAL) == 0)
+ if (!(m->status & MCI_STATUS_VAL))
continue;
/*
- * Non uncorrected or non signaled errors are handled by
- * machine_check_poll. Leave them alone, unless this panics.
+ * Corrected or non-signaled errors are handled by
+ * machine_check_poll(). Leave them alone, unless this panics.
*/
if (!(m->status & (cfg->ser ? MCI_STATUS_S : MCI_STATUS_UC)) &&
!no_way_out)
continue;
- /*
- * Set taint even when machine check was not enabled.
- */
+ /* Set taint even when machine check was not enabled. */
add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);
severity = mce_severity(m, cfg->tolerant, NULL, true);
/*
* When machine check was for corrected/deferred handler don't
- * touch, unless we're panicing.
+ * touch, unless we're panicking.
*/
if ((severity == MCE_KEEP_SEVERITY ||
severity == MCE_UCNA_SEVERITY) && !no_way_out)
continue;
+
__set_bit(i, toclear);
- if (severity == MCE_NO_SEVERITY) {
- /*
- * Machine check event was not enabled. Clear, but
- * ignore.
- */
+
+ /* Machine check event was not enabled. Clear, but ignore. */
+ if (severity == MCE_NO_SEVERITY)
continue;
- }
mce_read_aux(m, i);