Am Mittwoch, dem 28.01.2026 um 16:02 -0600 schrieb Rob Herring (Arm):
> 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 <[email protected]>
> Reported-by: André Apitzsch <[email protected]>
> Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
> functions for "memory-region"")
> Signed-off-by: Rob Herring (Arm) <[email protected]>
> ---
> I created some dummy regions matching the flags used here and did
> request_mem_region() on them successfully, so I'm not sure why it
> doesn't work for this driver. Something else is requesting the
> region?
>
> Perhaps there's a deferred probe and somehow request_mem_region() is
> not getting undone correctly?
> ---
> drivers/remoteproc/qcom_wcnss.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/remoteproc/qcom_wcnss.c
> b/drivers/remoteproc/qcom_wcnss.c
> index ee18bf2e8054..4add9037dbd5 100644
> --- a/drivers/remoteproc/qcom_wcnss.c
> +++ b/drivers/remoteproc/qcom_wcnss.c
> @@ -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);
Thanks.
Tested-by: André Apitzsch <[email protected]> # on BQ Aquaris M5