Messages in this thread Patch in this message | | | From | Dafna Hirschfeld <> | Subject | [PATCH 5/5] media: mtk-vcodec: venc: Fail if a msg sent to VPU was not signaled | Date | Wed, 4 Aug 2021 16:27:29 +0200 |
| |
Each message sent to the VPU should raise a signal. The signal handler sets vpu->signaled. Test the field and fail if it is 0.
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> --- drivers/media/platform/mtk-vcodec/venc_vpu_if.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/mtk-vcodec/venc_vpu_if.c b/drivers/media/platform/mtk-vcodec/venc_vpu_if.c index 234705ba7cd6..8331b1bd1971 100644 --- a/drivers/media/platform/mtk-vcodec/venc_vpu_if.c +++ b/drivers/media/platform/mtk-vcodec/venc_vpu_if.c @@ -92,6 +92,7 @@ static int vpu_enc_send_msg(struct venc_vpu_inst *vpu, void *msg, { int status; + vpu->signaled = 0; mtk_vcodec_debug_enter(vpu); if (!vpu->ctx->dev->fw_handler) { @@ -106,6 +107,8 @@ static int vpu_enc_send_msg(struct venc_vpu_inst *vpu, void *msg, *(uint32_t *)msg, len, status); return -EINVAL; } + if (!vpu->signaled) + return -EINVAL; if (vpu->failure) return -EINVAL; @@ -122,7 +125,6 @@ int vpu_enc_init(struct venc_vpu_inst *vpu) mtk_vcodec_debug_enter(vpu); init_waitqueue_head(&vpu->wq_hd); - vpu->signaled = 0; vpu->failure = 0; status = mtk_vcodec_fw_ipi_register(vpu->ctx->dev->fw_handler, vpu->id, -- 2.17.1
| |