Commit 003e6b56 authored by Guanghui Feng's avatar Guanghui Feng Committed by Catalin Marinas

ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info()

According to the ARM IORT specifications DEN 0049 issue E,
the "Number of IDs" field in the ID mapping format reports
the number of IDs in the mapping range minus one.

In iort_node_get_rmr_info(), we erroneously skip ID mappings
whose "Number of IDs" equal to 0, resulting in valid mapping
nodes with a single ID to map being skipped, which is wrong.

Fix iort_node_get_rmr_info() by removing the bogus id_count
check.

Fixes: 491cf4a6 ("ACPI/IORT: Add support to retrieve IORT RMR reserved regions")
Signed-off-by: default avatarGuanghui Feng <guanghuifeng@linux.alibaba.com>
Cc: <stable@vger.kernel.org> # 6.0.x
Acked-by: default avatarLorenzo Pieralisi <lpieralisi@kernel.org>
Tested-by: default avatarHanjun Guo <guohanjun@huawei.com>
Link: https://lore.kernel.org/r/1689593625-45213-1-git-send-email-guanghuifeng@linux.alibaba.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 05d881b8
...@@ -1007,9 +1007,6 @@ static void iort_node_get_rmr_info(struct acpi_iort_node *node, ...@@ -1007,9 +1007,6 @@ static void iort_node_get_rmr_info(struct acpi_iort_node *node,
for (i = 0; i < node->mapping_count; i++, map++) { for (i = 0; i < node->mapping_count; i++, map++) {
struct acpi_iort_node *parent; struct acpi_iort_node *parent;
if (!map->id_count)
continue;
parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table, parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table,
map->output_reference); map->output_reference);
if (parent != iommu) if (parent != iommu)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment