Thread (3 messages) 3 messages, 3 authors, 2021-08-25

Re: [PATCH v2 1/1] ACPI: tables: FPDT: Do not print FW_BUG message if record types are reserved

From: Zhang Rui <rui.zhang@intel.com>
Date: 2021-08-19 08:08:04

On Thu, 2021-08-19 at 15:14 +0800, Adrian Huang wrote:
From: Adrian Huang <redacted>

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@intel.com>
Signed-off-by: Adrian Huang <redacted>
Acked-by: Zhang Rui <rui.zhang@intel.com>

thanks,
rui
quoted hunk ↗ jump to hunk
---

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);
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help