diff options
author | Robin Murphy <robin.murphy@arm.com> | 2023-06-05 20:01:32 +0300 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2023-06-09 13:26:47 +0300 |
commit | 87b3b6d53efccbb64396675b35839180ef14ef40 (patch) | |
tree | c0db4512a07c9a0018ea32d9898212964a76a72f /drivers | |
parent | 71e0cb32d5fc61468e83ed962379af71bba8237e (diff) | |
download | linux-87b3b6d53efccbb64396675b35839180ef14ef40.tar.xz |
ACPI/APMT: Don't register invalid resource
Don't register a resource for the second page unless the dual-page
extension flag is actually present to say it's valid.
CC: Lorenzo Pieralisi <lpieralisi@kernel.org>
CC: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-and-tested-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Link: https://lore.kernel.org/r/63b34656e1f7b41bcb458fb6d7496e04db757e0d.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/arm64/apmt.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/arm64/apmt.c b/drivers/acpi/arm64/apmt.c index 8cab69fa5d59..aa7d5c3c0dd8 100644 --- a/drivers/acpi/arm64/apmt.c +++ b/drivers/acpi/arm64/apmt.c @@ -35,11 +35,13 @@ static int __init apmt_init_resources(struct resource *res, num_res++; - res[num_res].start = node->base_address1; - res[num_res].end = node->base_address1 + SZ_4K - 1; - res[num_res].flags = IORESOURCE_MEM; + if (node->flags & ACPI_APMT_FLAGS_DUAL_PAGE) { + res[num_res].start = node->base_address1; + res[num_res].end = node->base_address1 + SZ_4K - 1; + res[num_res].flags = IORESOURCE_MEM; - num_res++; + num_res++; + } if (node->ovflw_irq != 0) { trigger = (node->ovflw_irq_flags & ACPI_APMT_OVFLW_IRQ_FLAGS_MODE); |