Skip to content

Commit 38c872a

Browse files
aeglrafaeljw
authored andcommitted
ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error
When both CONFIG_RAS_CEC and CONFIG_ACPI_EXTLOG are enabled, Linux does not clear the status word of the BIOS supplied error record for corrected errors. This may prevent logging of subsequent uncorrected errors. Fix by clearing the status. Fixes: 23ba710 ("x86/mce: Fix all mce notifiers to update the mce->kflags bitmask") Reported-by: Erwin Tsaur <erwin.tsaur@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 72d9b97 commit 38c872a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/acpi/acpi_extlog.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,14 @@ static int extlog_print(struct notifier_block *nb, unsigned long val,
145145
static u32 err_seq;
146146

147147
estatus = extlog_elog_entry_check(cpu, bank);
148-
if (estatus == NULL || (mce->kflags & MCE_HANDLED_CEC))
148+
if (!estatus)
149149
return NOTIFY_DONE;
150150

151+
if (mce->kflags & MCE_HANDLED_CEC) {
152+
estatus->block_status = 0;
153+
return NOTIFY_DONE;
154+
}
155+
151156
memcpy(elog_buf, (void *)estatus, ELOG_ENTRY_LEN);
152157
/* clear record status to enable BIOS to update it again */
153158
estatus->block_status = 0;

0 commit comments

Comments
 (0)