]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
remoteproc: qcom_wcnss: Fix reserved region mapping failure
authorRob Herring (Arm) <robh@kernel.org>
Wed, 28 Jan 2026 22:02:42 +0000 (16:02 -0600)
committerBjorn Andersson <andersson@kernel.org>
Mon, 23 Feb 2026 19:57:37 +0000 (13:57 -0600)
Commit c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
functions for "memory-region"") switched from devm_ioremap_wc() to
devm_ioremap_resource_wc(). The difference is devm_ioremap_resource_wc()
also requests the resource which fails. Testing of both fixed and
dynamic reserved regions indicates that requesting the resource should
work, so I'm not sure why it doesn't work in this case. Fix the issue by
reverting back to devm_ioremap_wc().

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reported-by: André Apitzsch <git@apitzsch.eu>
Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"")
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: André Apitzsch <git@apitzsch.eu> # on BQ Aquaris M5
Link: https://lore.kernel.org/r/20260128220243.3018526-1-robh@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/remoteproc/qcom_wcnss.c

index ee18bf2e80549e0ca331778415a06ab8b56fe2ed..4add9037dbd5a1fba2f99e60e41c8c55eeab67e4 100644 (file)
@@ -537,7 +537,7 @@ static int wcnss_alloc_memory_region(struct qcom_wcnss *wcnss)
 
        wcnss->mem_phys = wcnss->mem_reloc = res.start;
        wcnss->mem_size = resource_size(&res);
-       wcnss->mem_region = devm_ioremap_resource_wc(wcnss->dev, &res);
+       wcnss->mem_region = devm_ioremap_wc(wcnss->dev, wcnss->mem_phys, wcnss->mem_size);
        if (IS_ERR(wcnss->mem_region)) {
                dev_err(wcnss->dev, "unable to map memory region: %pR\n", &res);
                return PTR_ERR(wcnss->mem_region);