[PATCH v2] remoteproc: qcom_wcnss: Fix error check after devm_ioremap_wc() switch

From: Lucas Sproule

Date: Mon Aug 31 2026 - 17:09:44 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>
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- Collect Konrad's Reviewed-by.
- Resend using b4; v1 was whitespace-damaged in transit.
---
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;

---
base-commit: 73e3f0710014fe6d4ed98cfc02292f6121db7558
change-id: 20260831-wcnss-is-err-fix-729c91ee975c

Best regards,
--
Lucas Sproule <lucas.sproule.42@xxxxxxxxx>