media: mediatek: vcodec: fix possible unbalanced PM counter
authorEugen Hristev <eugen.hristev@collabora.com>
Thu, 28 Dec 2023 11:32:40 +0000 (13:32 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Sat, 27 Apr 2024 08:04:30 +0000 (10:04 +0200)
commitc28d4921a1e3ce0a0374b7e9d68593be8802c42a
treed34057217050792f658785de67ffb147dbe62f13
parenteb005c801ec70ff4307727bd3bd6e8280169ef32
media: mediatek: vcodec: fix possible unbalanced PM counter

It is possible that mtk_vcodec_enc_pw_on fails, and in that scenario
the PM counter is not incremented, and subsequent call to
mtk_vcodec_enc_pw_off decrements the counter, leading to a PM imbalance.
Fix by bailing out of venc_if_encode in the case when mtk_vcodec_enc_pw_on
fails.

Fixes: 4e855a6efa54 ("[media] vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_pm.c
drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_pm.h
drivers/media/platform/mediatek/vcodec/encoder/venc_drv_if.c