diff options
author | Andreas Bombe <aeb@debian.org> | 2010-03-21 15:02:45 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-19 11:57:13 -0400 |
commit | dab7e3106ddd6cbc3b55301228407b9d17ce7773 (patch) | |
tree | 1b6caa87522844e7ea8cc01932365201271f1afd /drivers/media/video/cx23885/cx23885-video.c | |
parent | 0a062033f727dc041691bfd768f4cf0598f559a1 (diff) |
V4L/DVB: V4L2: Replace loops for finding max buffers in VIDIOC_REQBUFS callbacks
Due to obvious copy and paste coding a number of video capture drivers
which implement a limit on the buffer memory decremented the user
supplied buffer count in a while loop until it reaches an acceptable
value.
This is a silly thing to do when the maximum value can be directly
computed.
Signed-off-by: Andreas Bombe <aeb@debian.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-video.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-video.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c index 2d3ac8b83dc3..543b854f6a62 100644 --- a/drivers/media/video/cx23885/cx23885-video.c +++ b/drivers/media/video/cx23885/cx23885-video.c | |||
@@ -514,8 +514,8 @@ static int buffer_setup(struct videobuf_queue *q, unsigned int *count, | |||
514 | *size = fh->fmt->depth*fh->width*fh->height >> 3; | 514 | *size = fh->fmt->depth*fh->width*fh->height >> 3; |
515 | if (0 == *count) | 515 | if (0 == *count) |
516 | *count = 32; | 516 | *count = 32; |
517 | while (*size * *count > vid_limit * 1024 * 1024) | 517 | if (*size * *count > vid_limit * 1024 * 1024) |
518 | (*count)--; | 518 | *count = (vid_limit * 1024 * 1024) / *size; |
519 | return 0; | 519 | return 0; |
520 | } | 520 | } |
521 | 521 | ||