aboutsummaryrefslogtreecommitdiff
path: root/drivers/fpga/fpga-mgr.c
diff options
context:
space:
mode:
authorArd Biesheuvel <[email protected]>2020-05-01 18:10:14 +0200
committerWill Deacon <[email protected]>2020-05-04 12:07:41 +0100
commit539979b6ec62f7bba40b0452b0574a0f4ec4fe4e (patch)
treef0b9057cc2206da6cbb8494fd9aac549f2a889d4 /drivers/fpga/fpga-mgr.c
parent6d3b29d07c3c55532e09d004a1466358c71affa7 (diff)
ACPI/IORT: work around num_ids ambiguity
The ID mapping table structure of the IORT table describes the size of a range using a num_ids field carrying the number of IDs in the region minus one. This has been misinterpreted in the past in the parsing code, and firmware is known to have shipped where this results in an ambiguity, where regions that should be adjacent have an overlap of one value. So let's work around this by detecting this case specifically: when resolving an ID translation, allow one that matches right at the end of a multi-ID region to be superseded by a subsequent one. To prevent potential regressions on broken firmware that happened to work before, only take the subsequent match into account if it occurs at the start of a mapping region. Signed-off-by: Ard Biesheuvel <[email protected]> Reviewed-by: Lorenzo Pieralisi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'drivers/fpga/fpga-mgr.c')
0 files changed, 0 insertions, 0 deletions