kernel_optimize_test/drivers/remoteproc
Zhang Qilong f1bf8c9f49 remoteproc: qcom: pas: fix error handling in adsp_pds_enable
[ Upstream commit c0a6e5ee1ecfe4c3a5799cfd30820748eff5dfab ]

If the pm_runtime_get_sync failed in adsp_pds_enable when
loop (i), The unroll_pd_votes will start from (i - 1), and
it will resulted in following problems:

  1) pm_runtime_get_sync will increment pm usage counter even it
     failed. Forgetting to pm_runtime_put_noidle will result in
     reference leak.

  2) Have not reset pds[i] performance state.

Then we fix it.

Fixes: 17ee2fb4e8 ("remoteproc: qcom: pas: Vote for active/proxy power domains")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20201102143554.144707-1-zhangqilong3@huawei.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:53:48 +01:00
..
da8xx_remoteproc.c
imx_rproc.c
ingenic_rproc.c
Kconfig
keystone_remoteproc.c
Makefile
mtk_common.h remoteproc/mediatek: change MT8192 CFG register base 2020-12-30 11:53:47 +01:00
mtk_scp_ipi.c
mtk_scp.c remoteproc/mtk_scp: surround DT device IDs with CONFIG_OF 2020-12-30 11:53:48 +01:00
omap_remoteproc.c
omap_remoteproc.h
qcom_common.c
qcom_common.h
qcom_pil_info.c
qcom_pil_info.h
qcom_q6v5_adsp.c remoteproc: qcom: fix reference leak in adsp_start 2020-12-30 11:53:48 +01:00
qcom_q6v5_mss.c remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable 2020-12-30 11:53:48 +01:00
qcom_q6v5_pas.c remoteproc: qcom: pas: fix error handling in adsp_pds_enable 2020-12-30 11:53:48 +01:00
qcom_q6v5_wcss.c
qcom_q6v5.c
qcom_q6v5.h
qcom_sysmon.c
qcom_wcnss_iris.c
qcom_wcnss.c
qcom_wcnss.h
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
st_slim_rproc.c
stm32_rproc.c
ti_k3_dsp_remoteproc.c
ti_k3_r5_remoteproc.c
ti_sci_proc.h
wkup_m3_rproc.c