Re: [PATCH v3] ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info()
From: guanghui.fgh <hidden>
Date: 2023-07-18 08:55:32
Also in:
linux-acpi, lkml
在 2023/7/18 15:52, Lorenzo Pieralisi 写道:
[+Catalin, Will, Shameer] On Mon, Jul 17, 2023 at 07:33:45PM +0800, Guanghui Feng wrote:quoted
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: 491cf4a6735a ("ACPI/IORT: Add support to retrieve IORT RMR reserved regions") Signed-off-by: Guanghui Feng <redacted> --- drivers/acpi/arm64/iort.c | 3 --- 1 file changed, 3 deletions(-)diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index 3631230..56d8873 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c@@ -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++) { struct acpi_iort_node *parent; - if (!map->id_count) - continue; - parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table, map->output_reference); if (parent != iommu)Shameer, I know this may look like overkill since the hunk we are removing is buggy but can you please test this patch on platforms with RMR to make sure we are not triggering regressions by removing it (by the specs that's what should be done but current firmware is always something to reckon with) ? Thanks, Lorenzo
Thanks for your response. Firstly, I have tested iort rmr with one ID mapping and works well. Secondly, When there is more than two id mappings, the buggly id_count check has no effect(for the id_count is larger than zero). _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel