Messages in this thread Patch in this message | | | From | "S, Shirish" <> | Subject | [PATCH 3/3] x86/mce/amd: apply MC4_MISC thresholding quirk in resume path | Date | Thu, 10 Jan 2019 07:54:57 +0000 |
| |
There are 2 code paths leading to mce_amd_feature_init() as below. 1) S5 -> S0: (boot) secondary_startup_64 -> start_kernel -> identify_boot_cpu -> identify_cpu -> mcheck_cpu_init (calls __mcheck_cpu_apply_quirks before) -> mce_amd_feature_init
2) S3 -> S0: (resume) syscore_resume -> mce_syscore_resume -> mce_amd_feature_init
Its clear that the quirks are not applied in S3 -> S0 path, hence apply the same.
Signed-off-by: Shirish S <shirish.s@amd.com> --- arch/x86/kernel/cpu/mce/amd.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c index 89298c8..ab1b12a 100644 --- a/arch/x86/kernel/cpu/mce/amd.c +++ b/arch/x86/kernel/cpu/mce/amd.c @@ -552,6 +552,12 @@ void mce_amd_feature_init(struct cpuinfo_x86 *c) unsigned int bank, block, cpu = smp_processor_id(); int offset = -1; + /* + * mcheck_cpu_init() is not called when called by mce_syscore_resume(), + * hence re-apply quirks, to be on safer side. + */ + quirk_fam15_mc4_misc_thresholding(); + for (bank = 0; bank < mca_cfg.banks; ++bank) { if (mce_flags.smca) smca_configure(bank, cpu); -- 2.7.4
| |