[PATCH] remoteproc: qcom_q6v5_mss: Fix missing PDM subdev cleanup on probe failure
From: Anup Vishwakarma
Date: Wed Sep 16 2026 - 04:07:55 EST
q6v5_probe() calls qcom_add_pdm_subdev() but the remove_subdevs:
error unwind never calls qcom_remove_pdm_subdev(). If
qcom_add_sysmon_subdev() or rproc_add() subsequently fails, the PDM
subdev remains registered in the rproc subdev list.
The three sibling drivers (qcom_q6v5_adsp.c, qcom_q6v5_pas.c,
qcom_q6v5_wcss.c) all correctly call qcom_remove_pdm_subdev() in
their probe error unwind. Add the missing call after
qcom_remove_ssr_subdev(), in reverse order of registration.
Fixes: 5b9f51b200dc ("remoteproc: qcom: enable in-kernel PD mapper")
Signed-off-by: Anup Vishwakarma <anup.vishwakarma@xxxxxxxxxxxxxxxx>
---
drivers/remoteproc/qcom_q6v5_mss.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
index 2f71ed2feff6..1574e26aeaab 100644
--- a/drivers/remoteproc/qcom_q6v5_mss.c
+++ b/drivers/remoteproc/qcom_q6v5_mss.c
@@ -2222,6 +2222,7 @@ static int q6v5_probe(struct platform_device *pdev)
qcom_remove_sysmon_subdev(qproc->sysmon);
remove_subdevs:
qcom_remove_ssr_subdev(rproc, &qproc->ssr_subdev);
+ qcom_remove_pdm_subdev(rproc, &qproc->pdm_subdev);
qcom_remove_smd_subdev(rproc, &qproc->smd_subdev);
qcom_remove_glink_subdev(rproc, &qproc->glink_subdev);
detach_proxy_pds:
---
base-commit: e6e35979777d646fe3c7c94dca7dd32fb25d45f4
change-id: 20260916-b4-q6v5_mss_pdm_subdev_unwind_upstream-01a8b467ee1d
Best regards,
--
Anup Vishwakarma <anup.vishwakarma@xxxxxxxxxxxxxxxx>