MFCINST_GOT_INST state is set to encoder context with set_format
only for catpure buffer. In queue_setup of encoder called during
reqbufs, it is checked MFCINST_GOT_INST state for both capture
and output buffer. So this patch fixes to encoder to check
MFCINST_GOT_INST state only for capture buffer from queue_setup.

Signed-off-by: Seung-Woo Kim <sw0312....@samsung.com>
---
 drivers/media/platform/s5p-mfc/s5p_mfc_enc.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c 
b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
index e65993f..2e57e9f 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
@@ -1819,11 +1819,12 @@ static int s5p_mfc_queue_setup(struct vb2_queue *vq,
        struct s5p_mfc_ctx *ctx = fh_to_ctx(vq->drv_priv);
        struct s5p_mfc_dev *dev = ctx->dev;
 
-       if (ctx->state != MFCINST_GOT_INST) {
-               mfc_err("inavlid state: %d\n", ctx->state);
-               return -EINVAL;
-       }
        if (vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
+               if (ctx->state != MFCINST_GOT_INST) {
+                       mfc_err("inavlid state: %d\n", ctx->state);
+                       return -EINVAL;
+               }
+
                if (ctx->dst_fmt)
                        *plane_count = ctx->dst_fmt->num_planes;
                else
-- 
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to