mirror of https://gitee.com/openkylin/linux.git
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: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
29b59417c5
commit
cf8c91c3e7
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue