[PATCH] ACPI/IORT: fix IORT Reserved Memory Range node mapping error

Guanghui Feng guanghuifeng at linux.alibaba.com
Mon Jul 17 01:38:11 PDT 2023


In the ARM IORT specifications DEN 0049E.d, the recommended ID mapping format:
Field		Note Description
--------------------------------
Input base	The lowest value in the input range
Number of IDs	The number of IDs in the range "minus" one

When there is only one id mapping in the Reserved Memory Range
(RMR) node, the node filed: "Number of IDs" is zero and
iort_node_get_rmr_info will not analyse id mapping. This is
not in compliance with the regulations.

Signed-off-by: Guanghui Feng <guanghuifeng at linux.alibaba.com>
---
 drivers/acpi/arm64/iort.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index 3631230..8427cc3 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -1007,7 +1007,7 @@ static void iort_node_get_rmr_info(struct acpi_iort_node *node,
 	for (i = 0; i < node->mapping_count; i++, map++) {
 		struct acpi_iort_node *parent;
 
-		if (!map->id_count)
+		if (!(map->id_count + 1))
 			continue;
 
 		parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table,
-- 
1.8.3.1




More information about the linux-arm-kernel mailing list