aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/v4l2-core/videobuf-core.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/media/v4l2-core/videobuf-core.c b/drivers/media/v4l2-core/videobuf-core.c
index fb5ee5dd8fe9..b91a266d0b7e 100644
--- a/drivers/media/v4l2-core/videobuf-core.c
+++ b/drivers/media/v4l2-core/videobuf-core.c
@@ -441,11 +441,6 @@ int videobuf_reqbufs(struct videobuf_queue *q,
441 unsigned int size, count; 441 unsigned int size, count;
442 int retval; 442 int retval;
443 443
444 if (req->count < 1) {
445 dprintk(1, "reqbufs: count invalid (%d)\n", req->count);
446 return -EINVAL;
447 }
448
449 if (req->memory != V4L2_MEMORY_MMAP && 444 if (req->memory != V4L2_MEMORY_MMAP &&
450 req->memory != V4L2_MEMORY_USERPTR && 445 req->memory != V4L2_MEMORY_USERPTR &&
451 req->memory != V4L2_MEMORY_OVERLAY) { 446 req->memory != V4L2_MEMORY_OVERLAY) {
@@ -471,6 +466,12 @@ int videobuf_reqbufs(struct videobuf_queue *q,
471 goto done; 466 goto done;
472 } 467 }
473 468
469 if (req->count == 0) {
470 dprintk(1, "reqbufs: count invalid (%d)\n", req->count);
471 retval = __videobuf_free(q);
472 goto done;
473 }
474
474 count = req->count; 475 count = req->count;
475 if (count > VIDEO_MAX_FRAME) 476 if (count > VIDEO_MAX_FRAME)
476 count = VIDEO_MAX_FRAME; 477 count = VIDEO_MAX_FRAME;