linux/drivers/remoteproc
Vignesh Viswanathan 9db31edf92 remoteproc: qcom_q6v5_pas: Fix error masking in qcom_pas_stop()
In qcom_pas_stop function, return value of qcom_pas_shutdown for pas_id
is overwritten by the return value of qcom_pas_shutdown for dtb_pas_id.
This causes errors seen on qcom_pas_shutdown failures for pas_id to be
masked to the caller. This might lead to issues where the memory regions
locked by PAS, as part of qcom_pas_auth_and_reset, are not released for
access by linux and rproc_coredump flow will end up accessing the locked
memory, leading to an access violation.

Fix this by using a separate variable for the dtb_pas_id shutdown call
and only overriding the main return value if the pas_id shutdown succeeded
but dtb_pas_id shutdown failed.

Fixes: 29814986b8 ("remoteproc: qcom_q6v5_pas: add support for dtb co-firmware loading")
Signed-off-by: Vignesh Viswanathan <vignesh.viswanathan@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260819-rproc_dtb_fix-v1-1-cb6be7f93bc9@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-08-31 11:45:00 -05:00
..
amd_mbv_bram_rproc.c remoteproc: Add AMD MicroBlaze/V BRAM-based remote processor driver 2026-07-20 11:15:43 -06:00
da8xx_remoteproc.c remoteproc: Remove redundant dev_err()/dev_err_probe() 2026-07-20 11:31:42 -06:00
imx_dsp_rproc.c remoteproc: Switch drivers to optional resource-table helper 2026-06-29 09:34:18 -06:00
imx_rproc.c remoteproc: Switch drivers to optional resource-table helper 2026-06-29 09:34:18 -06:00
imx_rproc.h remoteproc: imx_rproc: Program non-zero SM CPU/LMM reset vector 2026-04-28 08:43:24 -06:00
ingenic_rproc.c remoteproc: Remove redundant dev_err()/dev_err_probe() 2026-07-20 11:31:42 -06:00
Kconfig remoteproc: Add AMD MicroBlaze/V BRAM-based remote processor driver 2026-07-20 11:15:43 -06:00
keystone_remoteproc.c remoteproc: Remove redundant dev_err()/dev_err_probe() 2026-07-20 11:31:42 -06:00
Makefile remoteproc: Add AMD MicroBlaze/V BRAM-based remote processor driver 2026-07-20 11:15:43 -06:00
meson_mx_ao_arc.c remoteproc: Switch back to struct platform_driver::remove() 2024-10-29 11:27:37 -06:00
mtk_common.h remoteproc: mediatek: Support setting DRAM and IPI shared buffer sizes 2024-04-30 10:43:59 -06:00
mtk_scp_ipi.c remoteproc: mtk_scp_ipi: Constify buffer passed to scp_ipi_send() 2026-04-06 09:37:50 -05:00
mtk_scp.c remoteproc: Remove redundant dev_err()/dev_err_probe() 2026-07-20 11:31:42 -06:00
omap_remoteproc.c remoteproc: Use presence checks for syscon props 2026-06-29 09:39:35 -06:00
omap_remoteproc.h remoteproc/omap: Switch to SPDX license identifiers 2020-03-25 22:29:51 -07:00
pru_rproc.c remoteproc: pru: Remove empty remove callback 2026-03-06 10:28:18 -07:00
pru_rproc.h remoteproc: pru: Add support for PRU specific interrupt configuration 2020-12-10 10:56:01 -06:00
qcom_common.c remoteproc: qcom: Fix glink->node reference leak in qcom_add_glink_subdev 2026-07-15 12:18:05 -05:00
qcom_common.h remoteproc: qcom: pas: Add late attach support for subsystems 2026-07-01 15:24:49 -05:00
qcom_pil_info.c remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided 2021-12-13 16:58:05 -06:00
qcom_pil_info.h remoteproc: qcom: Introduce helper to store pil info in IMEM 2020-07-01 22:10:18 -07:00
qcom_q6v5_adsp.c remoteproc: qcom_q6v5_adsp: Fix iommu_unmap() usage 2026-08-31 11:33:12 -05:00
qcom_q6v5_mss.c remoteproc: qcom_q6v5_mss: Don't require PAS for memory protection 2026-08-31 11:28:45 -05:00
qcom_q6v5_pas.c remoteproc: qcom_q6v5_pas: Fix error masking in qcom_pas_stop() 2026-08-31 11:45:00 -05:00
qcom_q6v5_wcss.c remoteproc: qcom_q6v5_wcss: drop redundant wcss_q6_bcr_reset 2026-06-08 21:41:59 -05:00
qcom_q6v5.c remoteproc: qcom: q6v5: Request shutdown if crash is triggered host-side 2026-07-27 20:20:10 -05:00
qcom_q6v5.h remoteproc: qcom: q6v5: Make handover IRQ one-shot 2026-07-15 12:18:05 -05:00
qcom_sysmon.c remoteproc: Remove redundant dev_err()/dev_err_probe() 2026-07-20 11:31:42 -06:00
qcom_wcnss_iris.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
qcom_wcnss.c remoteproc: qcom: annotate mem_region fields with __iomem 2026-07-30 21:44:44 -05:00
qcom_wcnss.h remoteproc: qcom: wcnss: remove unused qcom_iris_driver declaration 2022-12-28 09:50:07 -06:00
rcar_rproc.c remoteproc: Switch drivers to optional resource-table helper 2026-06-29 09:34:18 -06:00
remoteproc_cdev.c remoteproc: core: Move state checking to remoteproc_core 2022-04-14 11:13:33 -06:00
remoteproc_core.c remoteproc: Force shutdown during device removal 2026-07-27 20:18:31 -05:00
remoteproc_coredump.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
remoteproc_debugfs.c remoteproc: Don't bother checking the return value of debugfs_create* 2022-04-11 10:04:40 -06:00
remoteproc_elf_helpers.h remoteproc: fix an typo in fw_elf_get_class code comments 2021-07-28 14:57:30 -05:00
remoteproc_elf_loader.c ELF: fix all "Elf" typos 2023-04-08 13:45:37 -07:00
remoteproc_internal.h remoteproc: guard wc-ioremap helpers with HAS_IOMEM 2026-07-01 08:48:38 -06:00
remoteproc_sysfs.c remoteproc: Prevent crash handling to race with rproc_del() 2026-07-27 20:18:30 -05:00
remoteproc_virtio.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
st_remoteproc.c remoteproc: Switch exact-match drivers to wc-ioremap callbacks 2026-06-29 09:30:33 -06:00
st_slim_rproc.c remoteproc: Don't use %pK through printk 2025-06-17 08:03:24 -05:00
stm32_rproc.c remoteproc: Remove redundant dev_err()/dev_err_probe() 2026-07-20 11:31:42 -06:00
ti_k3_common.c remoteproc: k3: Fix NULL vs IS_ERR() bug in k3_reserved_mem_init() 2026-03-05 10:22:05 -07:00
ti_k3_common.h remoteproc: k3: Refactor release_tsp() functions into common driver 2025-05-20 11:19:12 -06:00
ti_k3_dsp_remoteproc.c remoteproc: k3: Correctly release some resources allocated in k3_rproc_request_mbox() 2025-08-29 10:09:52 -06:00
ti_k3_m4_remoteproc.c remoteproc: k3: Refactor release_tsp() functions into common driver 2025-05-20 11:19:12 -06:00
ti_k3_r5_remoteproc.c remoteproc: ti_k3_r5: Drop redundant NULL check on reset control get 2026-07-08 10:50:46 -06:00
ti_sci_proc.h remoteproc: k3: Factor out TI-SCI processor control OF get function 2024-08-21 11:21:02 -06:00
wkup_m3_rproc.c remoteproc: wkup_m3: Use devm_rproc_add() helper 2025-08-26 09:47:00 -06:00
xlnx_r5_remoteproc.c remoteproc: xlnx: Add crash detection mechanism 2026-07-06 11:38:48 -06:00