diff --git a/msm/vidc/hfi_common.c b/msm/vidc/hfi_common.c index ac95cff157a9..d08e240cfce3 100644 --- a/msm/vidc/hfi_common.c +++ b/msm/vidc/hfi_common.c @@ -2294,6 +2294,7 @@ static int venus_hfi_session_process_batch(void *sess, int rc = 0, c = 0; struct hal_session *session = sess; struct venus_hfi_device *device = &venus_hfi_dev; + bool is_last_frame = false; mutex_lock(&device->lock); @@ -2303,7 +2304,8 @@ static int venus_hfi_session_process_batch(void *sess, } for (c = 0; c < num_ftbs; ++c) { - rc = __session_ftb(session, &ftbs[c], true); + is_last_frame = (c + 1 == num_ftbs); + rc = __session_ftb(session, &ftbs[c], !is_last_frame); if (rc) { s_vpr_e(session->sid, "Failed to queue batched ftb: %d\n", rc); @@ -2312,7 +2314,8 @@ static int venus_hfi_session_process_batch(void *sess, } for (c = 0; c < num_etbs; ++c) { - rc = __session_etb(session, &etbs[c], true); + is_last_frame = (c + 1 == num_etbs); + rc = __session_etb(session, &etbs[c], !is_last_frame); if (rc) { s_vpr_e(session->sid, "Failed to queue batched etb: %d\n", rc);