diff options
author | 2017-02-20 12:47:44 -0800 | |
---|---|---|
committer | 2017-02-20 12:47:44 -0800 | |
commit | 60c906bab124a0627fba04c9ca5e61bba4747c0c (patch) | |
tree | 1680b243575b7184d3e06ae739bffbdfc3e3f943 /drivers/edac/mce_amd.c | |
parent | Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kern... (diff) | |
parent | x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority (diff) | |
download | linux-60c906bab124a0627fba04c9ca5e61bba4747c0c.tar.gz linux-60c906bab124a0627fba04c9ca5e61bba4747c0c.tar.bz2 linux-60c906bab124a0627fba04c9ca5e61bba4747c0c.zip |
Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RAS updates from Ingo Molnar:
"The main changes in this cycle were:
- Assign notifier chain priorities for all RAS related handlers to
make the ordering explicit (Borislav Petkov)
- Improve the AMD MCA banks sysfs output (Yazen Ghannam)
- Various cleanups and restructuring of the x86 RAS code (Borislav
Petkov)"
* 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority
x86/ras: Get rid of mce_process_work()
EDAC/mce/amd: Dump TSC value
EDAC/mce/amd: Unexport amd_decode_mce()
x86/ras/amd/inj: Change dependency
x86/ras: Flip the TSC-adding logic
x86/ras/amd: Make sysfs names of banks more user-friendly
x86/ras/therm_throt: Do not log a fake MCE for thermal events
x86/ras/inject: Make it depend on X86_LOCAL_APIC=y
Diffstat (limited to 'drivers/edac/mce_amd.c')
-rw-r--r-- | drivers/edac/mce_amd.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c index 27513dca8009..ba35b7ea3686 100644 --- a/drivers/edac/mce_amd.c +++ b/drivers/edac/mce_amd.c @@ -942,7 +942,8 @@ static const char *decode_error_status(struct mce *m) return "Corrected error, no action required."; } -int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) +static int +amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) { struct mce *m = (struct mce *)data; struct cpuinfo_x86 *c = &cpu_data(m->extcpu); @@ -1005,6 +1006,9 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) goto err_code; } + if (m->tsc) + pr_emerg(HW_ERR "TSC: %llu\n", m->tsc); + if (!fam_ops) goto err_code; @@ -1046,10 +1050,10 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) return NOTIFY_STOP; } -EXPORT_SYMBOL_GPL(amd_decode_mce); static struct notifier_block amd_mce_dec_nb = { .notifier_call = amd_decode_mce, + .priority = MCE_PRIO_EDAC, }; static int __init mce_amd_init(void) |