]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/media/video/cx18/cx18-controls.c
V4L/DVB (9894): cx18: Use a known open task handle when setting stream CX2341x parameters
[mv-sheeva.git] / drivers / media / video / cx18 / cx18-controls.c
index f46c7e5ed747c61c7f7b50ce58fb4aa09c01f58f..17edf305d6499e7abcfc53b88c21627315f05443 100644 (file)
@@ -259,6 +259,7 @@ int cx18_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c)
                return err;
        }
        if (c->ctrl_class == V4L2_CTRL_CLASS_MPEG) {
+               struct cx18_api_func_private priv;
                struct cx2341x_mpeg_params p = cx->params;
                int err = cx2341x_ext_ctrls(&p, atomic_read(&cx->ana_capturing),
                                                c, VIDIOC_S_EXT_CTRLS);
@@ -278,7 +279,9 @@ int cx18_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c)
                        fmt.fmt.pix.height = cx->params.height;
                        cx18_av_cmd(cx, VIDIOC_S_FMT, &fmt);
                }
-               err = cx2341x_update(cx, cx18_api_func, &cx->params, &p);
+               priv.cx = cx;
+               priv.s = &cx->streams[id->type];
+               err = cx2341x_update(&priv, cx18_api_func, &cx->params, &p);
                if (!err && cx->params.stream_vbi_fmt != p.stream_vbi_fmt)
                        err = cx18_setup_vbi_fmt(cx, p.stream_vbi_fmt);
                cx->params = p;