diff options
| author | Yazen Ghannam <yazen.ghannam@amd.com> | 2025-11-04 14:55:42 +0000 |
|---|---|---|
| committer | Borislav Petkov (AMD) <bp@alien8.de> | 2025-11-05 22:34:53 +0100 |
| commit | 3206b41604f80bb84c19ae3ed7c01d9d671ece2a (patch) | |
| tree | 0fceeaee87407a4da41164b9e9e91b8b5a06788e | |
| parent | 4efaec6e16c249b64d389c85c3ef01345580483a (diff) | |
x86/mce/amd: Remove redundant reset_block()
Many of the checks in reset_block() are done again in the block reset
function. So drop the redundant checks.
Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20251104-wip-mca-updates-v8-0-66c8eacf67b9@amd.com
| -rw-r--r-- | arch/x86/kernel/cpu/mce/amd.c | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c index 6d16b4589eef..af2221bcba96 100644 --- a/arch/x86/kernel/cpu/mce/amd.c +++ b/arch/x86/kernel/cpu/mce/amd.c @@ -812,29 +812,11 @@ static void amd_deferred_error_interrupt(void) machine_check_poll(MCP_TIMESTAMP, &this_cpu_ptr(&mce_amd_data)->dfr_intr_banks); } -static void reset_block(struct threshold_block *block) -{ - struct thresh_restart tr; - u32 low = 0, high = 0; - - if (!block) - return; - - if (rdmsr_safe(block->address, &low, &high)) - return; - - if (!(high & MASK_OVERFLOW_HI)) - return; - - memset(&tr, 0, sizeof(tr)); - tr.b = block; - threshold_restart_block(&tr); -} - static void amd_reset_thr_limit(unsigned int bank) { struct threshold_bank **bp = this_cpu_read(threshold_banks); struct threshold_block *block, *tmp; + struct thresh_restart tr; /* * Validate that the threshold bank has been initialized already. The @@ -844,8 +826,12 @@ static void amd_reset_thr_limit(unsigned int bank) if (!bp || !bp[bank]) return; - list_for_each_entry_safe(block, tmp, &bp[bank]->miscj, miscj) - reset_block(block); + memset(&tr, 0, sizeof(tr)); + + list_for_each_entry_safe(block, tmp, &bp[bank]->miscj, miscj) { + tr.b = block; + threshold_restart_block(&tr); + } } /* |
