As part of an effort to cleanup pm_runtime*get* calls, I detected a number of issues at the media subsystem. Most of the patches here were submitted previously at: https://lore.kernel.org/linux-media/cover.1619621413.git.mchehab+huawei@xxxxxxxxxx/ This series contain just the bug fixes and other related issues that are present with the current code on media. It address the points from the existing reviews. I also did my own set of reviews, in order to avoid regressions. Changes from v4 of the previous changeset: - reworked i2c/css RPM get logic; - dropped two patches that could cause regressions; - am437x: keep using pm_runtime_get_sync on suspend/resume; - atmel: fix the returned code and add a print on failures at start streaming; - simplify some checks for return code > 0; - mdk-vcodec: properly handle RPM errors at device on logic; - venus: rework venus_sys_error_handler() logic; - sti/delta: fix an issue at the error checking logic. Mauro Carvalho Chehab (25): staging: media: rkvdec: fix pm_runtime_get_sync() usage count staging: media: imx7-mipi-csis: fix pm_runtime_get_sync() usage count media: venus: Rework error fail recover logic media: s5p_cec: decrement usage count if disabled media: i2c: ccs-core: return the right error code at suspend media: i2c: imx334: fix the pm runtime get logic media: exynos-gsc: don't resume at remove time media: atmel: properly get pm_runtime media: hantro: do a PM resume earlier media: marvel-ccic: fix some issues when getting pm_runtime media: mdk-mdp: fix pm_runtime_get_sync() usage count media: rcar_fdp1: simplify error check logic at fdp_open() media: rcar_fdp1: fix pm_runtime_get_sync() usage count media: renesas-ceu: Properly check for PM errors media: s5p: fix pm_runtime_get_sync() usage count media: am437x: fix pm_runtime_get_sync() usage count media: sh_vou: fix pm_runtime_get_sync() usage count media: mtk-vcodec: fix PM runtime get logic media: s5p-jpeg: fix pm_runtime_get_sync() usage count media: sti/delta: use pm_runtime_resume_and_get() media: sunxi: fix pm_runtime_get_sync() usage count media: sti/bdisp: fix pm_runtime_get_sync() usage count media: exynos4-is: fix pm_runtime_get_sync() usage count media: exynos-gsc: fix pm_runtime_get_sync() usage count media: i2c: ccs-core: fix pm_runtime_get_sync() usage count drivers/media/cec/platform/s5p/s5p_cec.c | 7 ++- drivers/media/i2c/ccs/ccs-core.c | 41 ++++++++----- drivers/media/i2c/imx334.c | 7 ++- drivers/media/platform/am437x/am437x-vpfe.c | 15 ++++- drivers/media/platform/atmel/atmel-isc-base.c | 30 +++++++--- drivers/media/platform/atmel/atmel-isi.c | 19 ++++-- drivers/media/platform/exynos-gsc/gsc-core.c | 11 ++-- drivers/media/platform/exynos-gsc/gsc-m2m.c | 4 +- .../media/platform/exynos4-is/fimc-capture.c | 6 +- drivers/media/platform/exynos4-is/fimc-is.c | 4 +- .../platform/exynos4-is/fimc-isp-video.c | 3 +- drivers/media/platform/exynos4-is/fimc-isp.c | 7 +-- drivers/media/platform/exynos4-is/fimc-lite.c | 5 +- drivers/media/platform/exynos4-is/fimc-m2m.c | 5 +- drivers/media/platform/exynos4-is/media-dev.c | 9 +-- drivers/media/platform/exynos4-is/mipi-csis.c | 10 ++-- .../media/platform/marvell-ccic/mcam-core.c | 9 ++- drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c | 6 +- .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 4 +- .../platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 8 ++- .../platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 2 +- drivers/media/platform/qcom/venus/core.c | 59 +++++++++++++++---- drivers/media/platform/rcar_fdp1.c | 28 ++++++--- drivers/media/platform/renesas-ceu.c | 4 +- drivers/media/platform/s5p-jpeg/jpeg-core.c | 5 +- drivers/media/platform/sh_vou.c | 6 +- drivers/media/platform/sti/bdisp/bdisp-v4l2.c | 7 ++- drivers/media/platform/sti/delta/delta-v4l2.c | 8 +-- .../sunxi/sun8i-rotate/sun8i_rotate.c | 2 +- drivers/staging/media/hantro/hantro_drv.c | 7 ++- drivers/staging/media/imx/imx7-mipi-csis.c | 7 +-- drivers/staging/media/rkvdec/rkvdec.c | 2 +- 32 files changed, 220 insertions(+), 127 deletions(-) -- 2.30.2