ACPI: extlog: Handle multiple records
authorTony Luck <tony.luck@intel.com>
Mon, 10 Oct 2022 20:34:23 +0000 (13:34 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 13 Oct 2022 18:43:10 +0000 (20:43 +0200)
commitf6ec01da40e4139b41179f046044ee7c4f6370dc
treeeeab2ffbf48386ae68380c561dc0e7ca4f342675
parent3a1e24fa70a06ab6b087361ffe90d4cb5e1d059d
ACPI: extlog: Handle multiple records

If there is no user space consumer of extlog_mem trace records, then
Linux properly handles multiple error records in an ELOG block

extlog_print()
  print_extlog_rcd()
    __print_extlog_rcd()
      cper_estatus_print()
apei_estatus_for_each_section()

But the other code path hard codes looking for a single record to
output a trace record.

Fix by using the same apei_estatus_for_each_section() iterator
to step over all records.

Fixes: 2dfb7d51a61d ("trace, RAS: Add eMCA trace event interface")
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_extlog.c