Skip to content

Commit

Permalink
V4L/DVB (9911): em28xx: vidioc_try_fmt_vid_cap() doesn't need any lock
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Mauro Carvalho Chehab committed Dec 30, 2008
1 parent 29b5941 commit cf8c91c
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions drivers/media/video/em28xx/em28xx-video.c
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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;
}

Expand Down

0 comments on commit cf8c91c

Please sign in to comment.