linux-stable/drivers/remoteproc
Arnaud Pouliquen 19882a49b2 remoteproc: stm32_rproc: Add mutex protection for workqueue
[ Upstream commit 35bdafda40 ]

The workqueue may execute late even after remoteproc is stopped or
stopping, some resources (rpmsg device and endpoint) have been
released in rproc_stop_subdevices(), then rproc_vq_interrupt()
accessing these resources will cause kernel dump.

Call trace:
virtqueue_add_inbuf
virtqueue_add_inbuf
rpmsg_recv_single
rpmsg_recv_done
vring_interrupt
stm32_rproc_mb_vq_work
process_one_work
worker_thread
kthread

Suggested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Link: https://lore.kernel.org/r/20230331160634.3113031-1-arnaud.pouliquen@foss.st.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-24 17:36:44 +01:00
..
da8xx_remoteproc.c
imx_rproc.c remoteproc: imx_rproc: Call of_node_put() on iteration error 2023-05-17 11:50:24 +02:00
ingenic_rproc.c
Kconfig
keystone_remoteproc.c
Makefile
mtk_common.h
mtk_scp.c
mtk_scp_ipi.c remoteproc/mtk_scp: Move clk ops outside send_lock 2023-03-10 09:40:09 +01:00
omap_remoteproc.c
omap_remoteproc.h
pru_rproc.c
pru_rproc.h
qcom_common.c
qcom_common.h
qcom_pil_info.c
qcom_pil_info.h
qcom_q6v5.c
qcom_q6v5.h
qcom_q6v5_adsp.c
qcom_q6v5_mss.c remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers 2023-03-10 09:39:43 +01:00
qcom_q6v5_pas.c remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region() 2022-12-31 13:14:36 +01:00
qcom_q6v5_wcss.c remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in q6v5_wcss_qcs404_power_on() 2022-12-31 13:14:36 +01:00
qcom_sysmon.c remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev() 2022-12-31 13:14:36 +01:00
qcom_wcnss.c remoteproc: qcom: wcnss: Fix handling of IRQs 2022-08-17 14:24:06 +02:00
qcom_wcnss.h
qcom_wcnss_iris.c
remoteproc_cdev.c
remoteproc_core.c remoteproc: core: Do pm_relax when in RPROC_OFFLINE state 2023-01-12 11:58:59 +01:00
remoteproc_coredump.c
remoteproc_debugfs.c
remoteproc_elf_helpers.h
remoteproc_elf_loader.c
remoteproc_internal.h
remoteproc_sysfs.c
remoteproc_virtio.c
st_remoteproc.c remoteproc: st: Call of_node_put() on iteration error 2023-05-17 11:50:24 +02:00
st_slim_rproc.c
stm32_rproc.c remoteproc: stm32_rproc: Add mutex protection for workqueue 2023-05-24 17:36:44 +01:00
ti_k3_dsp_remoteproc.c
ti_k3_r5_remoteproc.c
ti_sci_proc.h
wkup_m3_rproc.c