diff options
Diffstat (limited to 'drivers/media/video/cx18/cx18-ioctl.c')
-rw-r--r-- | drivers/media/video/cx18/cx18-ioctl.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/media/video/cx18/cx18-ioctl.c b/drivers/media/video/cx18/cx18-ioctl.c index ece799ec37a..e6087486f88 100644 --- a/drivers/media/video/cx18/cx18-ioctl.c +++ b/drivers/media/video/cx18/cx18-ioctl.c | |||
@@ -238,13 +238,12 @@ static int cx18_s_fmt_vbi_cap(struct file *file, void *fh, | |||
238 | if (ret) | 238 | if (ret) |
239 | return ret; | 239 | return ret; |
240 | 240 | ||
241 | if (id->type == CX18_ENC_STREAM_TYPE_VBI && | 241 | if (!cx18_raw_vbi(cx) && atomic_read(&cx->ana_capturing) > 0) |
242 | cx->vbi.sliced_in->service_set && | ||
243 | atomic_read(&cx->ana_capturing) > 0) | ||
244 | return -EBUSY; | 242 | return -EBUSY; |
245 | 243 | ||
246 | cx->vbi.sliced_in->service_set = 0; | 244 | cx->vbi.sliced_in->service_set = 0; |
247 | cx18_av_cmd(cx, VIDIOC_S_FMT, &cx->vbi.in); | 245 | cx->vbi.in.type = V4L2_BUF_TYPE_VBI_CAPTURE; |
246 | cx18_av_cmd(cx, VIDIOC_S_FMT, fmt); | ||
248 | return cx18_g_fmt_vbi_cap(file, fh, fmt); | 247 | return cx18_g_fmt_vbi_cap(file, fh, fmt); |
249 | } | 248 | } |
250 | 249 | ||