WSL2-Linux-Kernel/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
..
Kconfig
Makefile
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
keystone_remoteproc.c
mtk_common.h
mtk_scp.c
mtk_scp_ipi.c
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
qcom_q6v5_pas.c
qcom_q6v5_wcss.c
qcom_sysmon.c
qcom_wcnss.c
qcom_wcnss.h
qcom_wcnss_iris.c
remoteproc_cdev.c
remoteproc_core.c
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