OSDN Git Service

[media] coda: remove BUG() in get_q_data
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 11 Jul 2014 09:36:18 +0000 (06:36 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 22 Jul 2014 14:54:29 +0000 (11:54 -0300)
This allows us to get rid of the now superfluous v4l2_m2m_get_vq check
in G_FMT. Also, we can use this to check the buffer type in G_SELECTION
later.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/platform/coda.c

index 6671494..f1b16df 100644 (file)
@@ -326,9 +326,8 @@ static struct coda_q_data *get_q_data(struct coda_ctx *ctx,
        case V4L2_BUF_TYPE_VIDEO_CAPTURE:
                return &(ctx->q_data[V4L2_M2M_DST]);
        default:
-               BUG();
+               return NULL;
        }
-       return NULL;
 }
 
 /*
@@ -571,15 +570,12 @@ static int coda_enum_fmt_vid_out(struct file *file, void *priv,
 static int coda_g_fmt(struct file *file, void *priv,
                      struct v4l2_format *f)
 {
-       struct vb2_queue *vq;
        struct coda_q_data *q_data;
        struct coda_ctx *ctx = fh_to_ctx(priv);
 
-       vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
-       if (!vq)
-               return -EINVAL;
-
        q_data = get_q_data(ctx, f->type);
+       if (!q_data)
+               return -EINVAL;
 
        f->fmt.pix.field        = V4L2_FIELD_NONE;
        f->fmt.pix.pixelformat  = q_data->fourcc;
@@ -628,6 +624,8 @@ static int coda_try_fmt(struct coda_ctx *ctx, struct coda_codec *codec,
                break;
        default:
                q_data = get_q_data(ctx, f->type);
+               if (!q_data)
+                       return -EINVAL;
                f->fmt.pix.pixelformat = q_data->fourcc;
        }