[PATCH] remoteproc: qcom_wcnss: Fix error check after devm_ioremap_wc() switch
From: Lucas Sproule
Date: Thu Aug 27 2026 - 03:28:47 EST
Commit f9b888599418 ("remoteproc: qcom_wcnss: Fix reserved region
mapping failure") switched back from devm_ioremap_resource_wc() to
devm_ioremap_wc(), but kept the IS_ERR() check that had been added to
match the resource variant.
devm_ioremap_wc() returns NULL on failure rather than an error pointer,
so IS_ERR() never fires and wcnss_alloc_memory_region() returns success
with wcnss->mem_region left NULL. Probe completes, and every subsequent
firmware boot then fails with a bare -EINVAL from qcom_mdt_load_no_init(),
masking the real mapping failure.
Check for NULL instead, and return -ENOMEM to match the other remoteproc
drivers.
Fixes: f9b888599418 ("remoteproc: qcom_wcnss: Fix reserved region mapping failure")
Cc: stable@xxxxxxxxxxxxxxx # v7.0+
Signed-off-by: Lucas Sproule <lucas.sproule.42@xxxxxxxxx>
---
drivers/remoteproc/qcom_wcnss.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c
index c856a92af43c..90747af237f7 100644
--- a/drivers/remoteproc/qcom_wcnss.c
+++ b/drivers/remoteproc/qcom_wcnss.c
@@ -542,9 +542,9 @@ 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_wc(wcnss->dev, wcnss->mem_phys, wcnss->mem_size);
- if (IS_ERR(wcnss->mem_region)) {
+ if (!wcnss->mem_region) {
dev_err(wcnss->dev, "unable to map memory region: %pR\n", &res);
- return PTR_ERR(wcnss->mem_region);
+ return -ENOMEM;
}
return 0;
--
2.53.0