Add handling of buffer freeing reqbufs request to the encoder of s5p-mfc. Signed-off-by: ayaka <ayaka@xxxxxxxxxxx> --- drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c index d26b248..74fb80b 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c @@ -1166,6 +1166,11 @@ static int vidioc_reqbufs(struct file *file, void *priv, mfc_err("error in vb2_reqbufs() for E(D)\n"); return ret; } + if (reqbufs->count == 0) { + mfc_debug(2, "Freeing buffers\n"); + ctx->capture_state = QUEUE_FREE; + return ret; + } ctx->capture_state = QUEUE_BUFS_REQUESTED; ret = s5p_mfc_hw_call(ctx->dev->mfc_ops, @@ -1200,6 +1205,11 @@ static int vidioc_reqbufs(struct file *file, void *priv, mfc_err("error in vb2_reqbufs() for E(S)\n"); return ret; } + if (reqbufs->count == 0) { + mfc_debug(2, "Freeing buffers\n"); + ctx->output_state = QUEUE_FREE; + return ret; + } ctx->output_state = QUEUE_BUFS_REQUESTED; } else { mfc_err("invalid buf type\n"); -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html