diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index f841bc44de4e3babcbbdbca338ff260f8d40ae25..235aff365756cb82b8c1983bb203bffd93e1281f 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -2799,9 +2799,9 @@ static void decode_umc_error(int node_id, struct mce *m) pvt->ops->get_err_info(m, &err); - if (hygon_f18h_m4h()) { - if (boot_cpu_data.x86_model == 0x6) - umc = err.channel << 1; + if (hygon_f18h_m4h() || hygon_f18h_m10h()) { + if (boot_cpu_data.x86_model >= 0x6) + umc = (err.channel << 1) + ((m->ipid & BIT(13)) >> 13); else umc = err.channel;