提交 cf8c91c3 编写于 作者: M Mauro Carvalho Chehab

V4L/DVB (9911): em28xx: vidioc_try_fmt_vid_cap() doesn't need any lock

vidioc_try_fmt_vid_cap() just checks if a given resolution is supported.
It doesn't touch on struct em28xx device descriptor. so, there's no need
to lock.

While there, use unlikely() for those values that aren't likely to
occur.
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 29b59417
......@@ -730,19 +730,17 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
/* width must even because of the YUYV format
height must be even because of interlacing */
height &= 0xfffe;
width &= 0xfffe;
width &= 0xfffe;
if (height < 32)
if (unlikely(height < 32))
height = 32;
if (height > maxh)
if (unlikely(height > maxh))
height = maxh;
if (width < 48)
if (unlikely(width < 48))
width = 48;
if (width > maxw)
if (unlikely(width > maxw))
width = maxw;
mutex_lock(&dev->lock);
if (dev->board.is_em2800) {
/* the em2800 can only scale down to 50% */
if (height % (maxh / 2))
......@@ -772,7 +770,6 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
f->fmt.pix.field = V4L2_FIELD_INTERLACED;
mutex_unlock(&dev->lock);
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册