On Thu, 2021-08-19 at 15:14 +0800, Adrian Huang wrote: > From: Adrian Huang <ahuang12@xxxxxxxxxx> > > In ACPI 6.4 spec, record types "0x0002-0xffff" of FPDT Performance > Record > Types [1] and record types "0x0003-0xffff" of Runtime Performance > Record > Types [2] are reserved. > > Users might be confused with the FW_BUG message, and they think this > is the FW issue. Here is the example in a Lenovo box: > > ACPI: FPDT 0x00000000A820A000 000044 (v01 LENOVO THINKSYS 00000100 > 01000013) > ACPI: Reserving FPDT table memory at [mem 0xa820a000-0xa820a043] > ACPI FPDT: [Firmware Bug]: Invalid record 4113 found > > So, remove the FW_BUG message to avoid confusion since those types > are > reserved in ACPI 6.4 spec. > > [1] > https://uefi.org/specs/ACPI/6.4/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#fpdt-performance-record-types-table > [2] > https://uefi.org/specs/ACPI/6.4/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#runtime-performance-record-types-table > > Cc: Zhang Rui <rui.zhang@xxxxxxxxx> > Signed-off-by: Adrian Huang <ahuang12@xxxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> thanks, rui > --- > > Changes since v2: > * Fix "0x0002-0xFFFF" of FPDT Performance Record Types, per Rui > > drivers/acpi/acpi_fpdt.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/acpi/acpi_fpdt.c b/drivers/acpi/acpi_fpdt.c > index 4ee2ad234e3d..6922a44b3ce7 100644 > --- a/drivers/acpi/acpi_fpdt.c > +++ b/drivers/acpi/acpi_fpdt.c > @@ -220,8 +220,8 @@ static int fpdt_process_subtable(u64 address, u32 > subtable_type) > break; > > default: > - pr_err(FW_BUG "Invalid record %d found.\n", > record_header->type); > - return -EINVAL; > + /* Other types are reserved in ACPI 6.4 spec. > */ > + break; > } > } > return 0; > @@ -254,8 +254,7 @@ static int __init acpi_init_fpdt(void) > subtable->type); > break; > default: > - pr_info(FW_BUG "Invalid subtable type %d > found.\n", > - subtable->type); > + /* Other types are reserved in ACPI 6.4 spec. > */ > break; > } > offset += sizeof(*subtable);