summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeung-Woo Kim <sw0312.kim@samsung.com>2015-05-13 13:44:39 +0900
committerSeung-Woo Kim <sw0312.kim@samsung.com>2015-06-03 16:49:03 +0900
commitcf3e0596a6a849ac2bf11532b310d9f857aa58b6 (patch)
treef9988903800cb95407e5483b0a01193eb42c9c10
parent613dd6cec92929a8a718951b15f7eaec8017ab33 (diff)
downloadlinux-exynos-cf3e0596a6a849ac2bf11532b310d9f857aa58b6.tar.gz
linux-exynos-cf3e0596a6a849ac2bf11532b310d9f857aa58b6.tar.bz2
linux-exynos-cf3e0596a6a849ac2bf11532b310d9f857aa58b6.zip
s5p-mfc: fix state check from encoder queue_setup
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. Change-Id: I53997d92ebf8a9bda804d101f2daf8d9731e4a47 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
-rw-r--r--drivers/media/platform/s5p-mfc/s5p_mfc_enc.c9
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 e65993f4b901..2e57e9f45b85 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