[media] s5p-mfc: fix V4L2_CID_MIN_BUFFERS_FOR_CAPTURE on resolution change
authorPawel Osciak <posciak@chromium.org>
Tue, 21 Oct 2014 11:07:06 +0000 (08:07 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 28 Oct 2014 17:50:36 +0000 (15:50 -0200)
G_CTRL on V4L2_CID_MIN_BUFFERS_FOR_CAPTURE will fail if userspace happens to
query it after getting a resolution change event and before the codec has
a chance to parse the header and switch to an initialized state.

Signed-off-by: Pawel Osciak <posciak@chromium.org>
Signed-off-by: Kiran AVND <avnd.kiran@samsung.com>
Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c

index a98fe02..de90465 100644 (file)
@@ -740,7 +740,8 @@ static int s5p_mfc_dec_g_v_ctrl(struct v4l2_ctrl *ctrl)
                    ctx->state < MFCINST_ABORT) {
                        ctrl->val = ctx->pb_count;
                        break;
-               } else if (ctx->state != MFCINST_INIT) {
+               } else if (ctx->state != MFCINST_INIT &&
+                               ctx->state != MFCINST_RES_CHANGE_END) {
                        v4l2_err(&dev->v4l2_dev, "Decoding not initialised\n");
                        return -EINVAL;
                }