Commit d7ac083f authored by Avadhut Naik's avatar Avadhut Naik Committed by Borislav Petkov (AMD)
Browse files

x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA systems



Currently, when a CMCI storm detected on a Machine Check bank, subsides, the
bank's corresponding bit in the mce_poll_banks per-CPU variable is cleared
unconditionally by cmci_storm_end().

On AMD SMCA systems, this essentially disables polling on that particular bank
on that CPU. Consequently, any subsequent correctable errors or storms will not
be logged.

Since AMD SMCA systems allow banks to be managed by both polling and
interrupts, the polling banks bitmap for a CPU, i.e., mce_poll_banks, should
not be modified when a storm subsides.

Fixes: 7eae17c4 ("x86/mce: Add per-bank CMCI storm mitigation")
Signed-off-by: default avatarAvadhut Naik <avadhut.naik@amd.com>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20251121190542.2447913-2-avadhut.naik@amd.com
parent 821f5fe4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ void cmci_storm_end(unsigned int bank)
{
	struct mca_storm_desc *storm = this_cpu_ptr(&storm_desc);

	if (!mce_flags.amd_threshold)
		__clear_bit(bank, this_cpu_ptr(mce_poll_banks));
	storm->banks[bank].history = 0;
	storm->banks[bank].in_storm_mode = false;